nginx配置php-fpm和php通信

马谦马谦马谦
马谦马谦马谦
马谦马谦马谦
615
文章
12
评论
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中增加一段配置:

在浏览器中打开https://d2.dyxmq.cn/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即可:

马谦马谦马谦
  • 本文由 发表于 2018年10月20日23:27:06
  • 转载请务必保留本文链接:https://www.dyxmq.cn/it/nginx/nginx-and-php-fpm.html
Nginx-ModSecurity使用Comodo WAF规则 nginx

Nginx-ModSecurity使用Comodo WAF规则

一、概述 之前安装好了ModSecurity作为nginx的WAF,但是后续的使用中发现OWASP-CRS规则过于苛刻,很多正常操作都会被阻挡,甚至打开一个正常的页面都会被拦截。每次都要手动排除规则十...
nginx中的if和else语法 nginx

nginx中的if和else语法

nginx支持if语法,语法和平常的代码格式差不多: if ($xxx = xxx) { xxx } 只是和代码不同的是,if条件语句判断相等只要一个等号,不是==。 nginx虽然有if,但是却不支...
nginx访问限频 nginx

nginx访问限频

一、并发访问限制 ngx_http_limit_conn_module是一个默认安装的内置模块,被用来限制在某一个关键字维度上的最大并发数量,通常情况下,这个维度被设置为访问者的IP。在计算的一个连接...
匿名

发表评论

匿名网友 填写信息

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