1、nginx和php-fpm的关系
这里要明确nginx和php-fpm的关系和工作原理,nginx是一个HTTP服务器,但是它默认解析的是html和htm文件,不会解析php文件,而php-fpm,不要说得太复杂,就知道它用来解析php的就好了,但是我们访问的是nginx上的php文件,这时需要让nginx把php相关东西转发给php-fpm,php-fpm解析完后返回给nginx显示出来。
这里nginx的安装目录是/usr/local/nginx,在浏览器打开localhost,显示nginx的欢迎页。
2、php-fpm的安装
sudo apt-get install php5-fpm
安装成功
支持的命令
3、nginx挂载php-fpm
这个欢迎页的位置实际上就是/usr/local/nginx/html/index.html,我们在这个目录下创建index.php,内容为:
<?php
phpinfo();
?>
这时打开localhost/index.php,显示报错
说明访问的php文件并没有被nginx转发给php-fpm解析。这时需要完成两件事,先配置nginx,一般php-fpm的默认监听端口是9000,需要把php文件转发给本地9000端口,在nginx.conf(位置为/usr/local/nginx/conf/nginx.conf)中增加配置如下:
接着打开,发现还是报错,这时要考虑一下是不是php-fpm的问题了,它可能监听的不是默认的9000端口,
打开/etc/php5/fpm/pool.d/www.conf,发现果然不是9000
将其改为listen = 9000
重载php5-fpm服务
打开localhost/index.php
发现一片空白,但起码发现我们监听端口改对了,只是解析显示的时候除了点问题。将index.php的内容改一下
发现还是空白?在网上搜了一下,果然有人出现这种情况,还是需要修改nginx.conf文件,增加这一行
再打开localhost/info.php,内容为<?php phpinfo(); ?>
终于成功了!!!O(∩_∩)O~