linux中nginx挂载php-fpm

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


安装成功

linux中nginx挂载php-fpm_第1张图片

支持的命令



3、nginx挂载php-fpm

这个欢迎页的位置实际上就是/usr/local/nginx/html/index.html,我们在这个目录下创建index.php,内容为:linux中nginx挂载php-fpm_第2张图片


这时打开localhost/index.php,显示报错

linux中nginx挂载php-fpm_第3张图片

说明访问的php文件并没有被nginx转发给php-fpm解析。这时需要完成两件事,先配置nginx,一般php-fpm的默认监听端口是9000,需要把php文件转发给本地9000端口,在nginx.conf(位置为/usr/local/nginx/conf/nginx.conf)中增加配置如下:

linux中nginx挂载php-fpm_第4张图片

接着打开,发现还是报错,这时要考虑一下是不是php-fpm的问题了,它可能监听的不是默认的9000端口,

打开/etc/php5/fpm/pool.d/www.conf,发现果然不是9000

将其改为listen = 9000

重载php5-fpm服务

        

打开localhost/index.php

linux中nginx挂载php-fpm_第5张图片

发现一片空白,但起码发现我们监听端口改对了,只是解析显示的时候除了点问题。将index.php的内容改一下


发现还是空白?在网上搜了一下,果然有人出现这种情况,还是需要修改nginx.conf文件,增加这一行

linux中nginx挂载php-fpm_第6张图片

再打开localhost/info.php,内容为

终于成功了!!!O(∩_∩)O~

linux中nginx挂载php-fpm_第7张图片


你可能感兴趣的:(linux)