ubuntu16.04中nginx1.10.* + php7.*开发环境的搭建

 原由是因为想补充点PHP方面的知识点,索性搭个学习的环境来学习学习。


准备:

需求:在ubuntu16.04环境下搭建nginx+php的学习环境

提示:由于我使用的是默认的终端安装,并没有指定版本号,所以会自动安装默认的版本,安装完成后的的版本是nginx1.10.×  + php 7.0

要求:会打开终端


步骤:

步骤1:在终端输入:sudo apt-get update 更新一下

步骤2:在终端输入:sudo apt-get install nginx

步骤3:在终端输入:sudo apt-get install php


配置:

安装完成后是需要额外的配置nginx的配置文件才能完成nginx+php的环境的搭建,由于配置文件我不懂,所以看到了一篇对口的

链接:配置链接


我来归纳一下基本步骤吧,怕万一以后这个链接失效了就不好办了

1.在nginx完成安装后不出什么幺娥子的话你访问localhost是能看到一个访问页面的,比如:


ubuntu16.04中nginx1.10.* + php7.*开发环境的搭建_第1张图片
nginx默认访问成功提示页面

                                                                   


2.接着开始配置agin的配置文件好让nginx可以支持php(默认配置文件在/etc/nginx/nginx.conf)

步骤1:打开配置文件sudo gedit /etc/nginx/nginx.conf

操作1:按照个人需求设定 keepalive_timeout 的值,比如我就设定的:keepalive_timeout  2;


3.修改虚拟主机服务器{}容器定义,默认的虚拟主机是在文件中定义的/etc/nginx/sites-available/default

步骤1:打开定义文件sudo gedit /etc/nginx/sites-available/default

操作1:把文件中的内容修改为一下内容:(从链接中直接copy过来)

[...]

server {

listen 80 default_server;

listen [::]:80 default_server;

# SSL configuration

#

# listen 443 ssl default_server;

# listen [::]:443 ssl default_server;

#

# Note: You should disable gzip for SSL traffic.

# See: https://bugs.debian.org/773332

#

# Read up on ssl_ciphers to ensure a secure configuration.

# See: https://bugs.debian.org/765782

#

# Self signed certs generated by the ssl-cert package

# Don't use them in a production server!

#

# include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php to the list if you are using PHP

index index.html index.htm index.nginx-debian.html;

server_name _;

location / {

# First attempt to serve request as file, then

# as directory, then fall back to displaying a 404.

try_files $uri $uri/ =404;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

include snippets/fastcgi-php.conf;

# With php7.0-cgi alone:

# fastcgi_pass 127.0.0.1:9000;

# With php7.0-fpm:

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

location ~ /\.ht {

deny all;

}

}

[...]

修改的部分操作解释为:

user 默认是www-data,如果要修改这个的话,还要修改其他地方,我嫌麻烦,就先让保持默认

server_name _;使这是一个默认捕捉所有虚拟主机(当然,你可以同时喜欢这里www.example.com指定主机名)。

根目录 /var/www/html;意味着文档根目录/var/www/html.

PHP的重要组成部分位置 ~ \.php$ {} 取消注释它来启用它。

现在保存文件并重新加载nginx:

sudo  service nginx reload


4.下一步打开/etc/php/7.0/fpm/php.ini(路径根据版本号不同自行修改,我的是php7.0)

sudo gedit  /etc/php/7.0/fpm/php.ini

设置cgi.fix_pathinfo=0:

[...]

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's

; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok

; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting

; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting

; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts

; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.

; http://php.net/cgi.fix-pathinfo

cgi.fix_pathinfo=0

[...]

重新加载 PHP-FPM:

sudo service php7.0-fpm reload

建立探针文件/var/www/html:

sudo gedit  /var/www/html/info.php

内容为:

保存后用浏览器访问 (localhost/info.php):

要是出现在这个页面就ok了:


ubuntu16.04中nginx1.10.* + php7.*开发环境的搭建_第2张图片
搭建完成后的页面

ok,环境基本就搭建好了,所需的数据库还没弄,先到这儿,水平有限,有什么误人子弟的地方可以留言。

你可能感兴趣的:(ubuntu16.04中nginx1.10.* + php7.*开发环境的搭建)