nginx配置php-fpm和php通信

2018年10月20日23:27:06 发表评论

一、概述

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

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

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

修改成以下内容:

1.1 第一个php页面

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

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

在浏览器中打开http://d2.maqian.co/php/,将会显示如下信息:

nginx配置php-fpm和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即可:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: