nginx+PHP+php-fpm的安装和配置

         首先,本文默认已安装nginx,安装方法可以参考https://mp.csdn.net/postedit/79930569

1.获取并解压PHP源文件

下载地址:http://www.php.net/downloads.php

$wget http://cn2.php.net/get/php-7.2.4.tar.gz/from/this/mirror    //下载

$tar xvf mirror        //解压

2.编译安装PHP

$cd php-7.2.4         //切换至解压后的目录

$./configure --prefix=/安装目录/php --enable-fpm --with-mysql=~/mysql       /*此处 --prefix=指定安装目录,最好为绝对路径,~/mysql为mysql所在目录可以加入多个编译选项或扩展模块“--enable-fastcgi”是启用对PHP的FastCGI支持,“--enable-fpm”是激活对FastCGI模式的fpm支持*/

$make            //编译

$make install   //安装

3.配置PHP

将配置文件复制到正确的位置:

$cp php.ini-development /安装目录/php/php.ini
$cp /安装目录/etc/php-fpm.conf.default /安装目录/etc/php-fpm.conf
$cp sapi/fpm/php-fpm /安装目录/bin

将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 :

$vim /usr/local/php/php.ini      //打开 php.ini
找到 cgi.fix_pathinfo=1 并将其修改为
cgi.fix_pathinfo=0  

4.修改 php-fpm.conf 配置文件

$vim /安装目录/etc/php-fpm.conf

找到以下内容并修改

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = nginx

group = nginx

;listen.owner = nginx

;listen.group = nginx
;listen.mode = 0660

php-fpm.conf文件最后有include=/home/odin/huanlisuhuan_i/php/etc/php-fpm.d/*.conf,则上述设置在/安装目录/etc/php-fpm.d/www.conf.default中,可以执行:

$cp /安装目录/etc/php-fpm.d/www.conf.default   /安装目录/etc/php-fpm.d/www.conf

$vim /安装目录/etc/php-fpm.d/www.conf

再进行上述修改

5.启动启动 php-fpm 服务

$./安装目录/bin/php-fpm

6.配置 Nginx 使其支持 PHP 应用:

$vim /nginx安装目录/nginx/conf/nginx.conf

修改默认的 location 块,使其支持 .php 文件:

location / {
    root   html;
    index  index.php index.html index.htm;
}

配置对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:

location ~* \.php$ {                                //location 正则匹配到以php结尾的到这里解析
    fastcgi_index   index.php;                      //fastcgi_index 指明首页
    fastcgi_pass    127.0.0.1:9000;                 //fastcgi_pass 指明了用哪里的php-fpm来解析
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;   //fastcgi_param 指明的是php动态程序的主目录
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

7.重启 Nginx

$/nginx安装目录/nginx/sbin/nginx -s stop
$/nginx安装目录/nginx/sbin/nginx

8.测试

$rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

访问 http://localhost,将会显示 phpinfo() 。

      通过以上步骤的配置,Nginx 服务器现在可以以 SAPI 模块的方式支持 PHP 应用了。 当然,对于 Nginx 和 PHP 的配置,还有很多可用的选项, 在可对应的源代码目录执行 ./configure --help 来查阅更多配置选项。

参考:

官方讲解:http://php.net/manual/zh/install.unix.nginx.php

博客实战Nginx与PHP(FastCGI)的安装、配置与优化:http://blog.51cto.com/ixdba/806622

博客Nginx系列2之Nginx+php:http://www.cnblogs.com/liaojiafa/p/6046226.html

别人的配置代码:https://github.com/vfhky/mylnmp


猜你喜欢

转载自blog.csdn.net/Li_suhuan/article/details/80022985
今日推荐