nginx 配置 php-fpm 和 php 通信

一、概述

php-fpm 是一种通信方式,使得 nginx 可以通过 cgi 和 php 之间快速通信。 nginx 的提供了一份默认的 php-fpm 的配置:

fastcgi_pass 指定了和 php-fpm 通信的地址和端口,这段配置可能可以拿过来直接使用,但是也可能会报错:

这个情况下需要把配置中的:

修改成以下内容:

1.1 第一个 php 页面

/webroot/html/php 目录下创建一个 index.php 文件,里面的内容为:

然后在 nginx 中增加一段配置:

在浏览器中打开 https://d2.dyxmq.cn/php/,将会显示如下信息:

二、修改 fastcgi 的监听方式为 socket

nginx 和 php-fpm 是通过本地的 9000 端口来通信的,它们此时是基于 tcp 连接来的。在同一台机器上,tcp 的握手会浪费很多的通信时间,可以考虑把它们的通信方式改成 unix socket 。

修改 php-fpm 的配置文件/usr/local/php/etc/php-fpm.d/www.conf,查找 listen:

nginx 配置中的 fastcgi_pass 也改成:

重新载入 nginx 并重启 php-fpm(一定要重启 php-fpm),在浏览器中打开页面应该也能和开始一样显示 php 相关信息。如果遇到错误:

说明是 php-fpm 的 socket 权限有问题,要修改 php-fpm 的配置文件中的 socket 用户,然后重启 php-fpm 即可:

《 nginx 配置 php-fpm 和 php 通信》 有 1 条评论

发表评论