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;
#}
改成
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/php/php7.0-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文本模式,在里面输入
<?
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版本的信息框。