ubuntu 16.04版本
Nginx 1.10.3 版本
PHP 7.0.22版本
(1)在安装Nginx、PHP、MysqL等等的之前先输入
- apt-get update
- apt-get upgrade
这三个指令让系统更新、软件更新。
(2)安装需要的软件
直接在命令行上输入指令
- sudo apt-get install Nginx
- sudo apt-get install PHP7.0-fpm
- sudo apt-get install MysqL-server-5.7
- sudo apt-get install PHP7.0-MysqL
(注:这里的PHP版本是我自己的版本,必须根据自己的版本来调节,否则在后续的某些文件路径会有些出入)
如果想测试一下Nginx是否在我们的系统上安装成功可以打开浏览器,然后输入localhost或者是你的主机ip(我的是127.0.0.1)就会出现welcome to Nginx。出现这个页面是因为我们的Nginx寻找本服务器的资源,而资源放在/var/www/html这个文件夹内。你可以输入vi /var/www/html/index.Nginx-debian.html进入就可以看到利用html语言写好的欢迎界面,我们可以把welcome to Nginx后面加上bules(我的名字),然后按wq!保存退出。然后在浏览器上重新加载这个页面,看是不是出现改变了。(注意,我们这些动作最好都是在root用户的情况下操作,而且当我们修改过我们的Nginx配置文件的后,最好都要重新加载一下Nginx和相关服务(这里是PHP),这些加载的命令我在下文提到)。
(3)配置文件
Nginx的配置文件必须改才能适用于我们自己,默认的情况是不支持php-cgi的,所以必须改一下:
在我们的命令行上输入:vim /etc/Nginx/site-available/default,进入我们的Nginx默认配置文件中,找到
# #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:/var/run/PHP5-fpm.sock; #}改成
大概的意思就是所有以.PHP结尾的文件都传给PHP7.0-fpm去处理,处理完了把结果发给Nginx然后在由Nginx发给客户机(浏览器)
然后重启一下服务
- systemctl restart Nginx
- systemctl restart PHP7.0-fpm
默认的网站根目录在/var/www/html/(可以通过Nginx的配置文件里的root那里改路径)
测试一下PHP-fpm与Nginx的结合
在文件夹/var/www/html内创建一个文件,进入这个文件夹内输入指令vi test.PHP,进入到vi文本模式,在里面输入
<?PHP echo PHPinfo(); ?>然后按wq!保存退出。
下一步输入指令:vi /etc/Nginx/site-available/default进去到这个文档里面(nignx默认的配置文件文档),找到index index.html index.htm index.Nginx-debian.html(这几个索引名字位置不一定这样,越前面的话,Nginx按优先级寻找匹配的同名资源(后缀)。
找到这行文本的话,添加index index.PHP(最好放第一位)添加它的原因就是上面提到的让Nginx寻找PHP类型的资源,这里也就是实现了Nginx+PHP的结合(中间通过PHP-fpm来调解)。然后按wq!保存退出。
打开我们的浏览器,在输入框里写入localhost/test.PHP(我的主机名是127.0.0.1,也可以输入127.0.0.1/test.PHP)就会出现PHP版本的信息框。