php-fpm报502问题「建议收藏」

php-fpm报502问题

大家好,又见面了,我是全栈君。

搭建lnmp完lnmp环境后,测试时出现502报错,看到这个问题,我立刻想到是php-fpm没有起来,但是我用 ps -ef | grep php-fpm 截取 php-fpm 的进程,发现是有的,这时我有查看nginx的错误日志,发现错误信息是:

2017/05/05 17:08:45 [crit] 3258#0: *2 connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.88.1, server: 192.168.88.133, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "192.168.88.134"

 

这个是nginx的错误日志

备注:php我用的版本是7.1.4的,最新的版本,之前用5.6版本的时候没有出现过这个问题

思路:发现php-fpm的listen是unix sock方式运行的,问题可能出在php-fpm上。既然没有这个文件,就先把文件创建出来
1、创建这个文件,并赋予权限,因为我在编译的时候是用www用户,所以将/tmp/php-cgi.sock的属主和属组都授权为www

touch /tmp/php-cgi.sock
chown www.www /tmp/php-cgi.sock

重启ngix和php-fpm发现还是502的问题

2、我在网上也查看了下,说是其中
fastcgi_pass为配置nginx与php-fpm的交互路径,一般有两种方式
sock方式:fastcgi_pass unix:/tmp/php-cgi.sock;
http方式:fastcgi_pass 127.0.0.1:9000;
任选其中一种即可,但必须和php-fpm的配置一致。

后来我就在nginx的配置文件中加上一下代码

location ~\.php$ {  
    root /root/wwwroot;  
    fastcgi_pass unix:/tmp/php-cgi.sock;  
    fastcgi_index index.php;  
    include fastcgi.conf;  
} 

3、同时修改php-fpm的配置文件php-fpm.conf,将listen = 127.0.0.1:9000改为

listen = /tmp/php-cgi.sock
#这个是设置 /tmp/php-cgi.sock 权限用的
listen.owner = www
listen.group = www
listen.mode = 0660

这里写图片描述

再次重启ngix和php-fpm,问题解决
这里写图片描述

总结:
1、其实这个问题总体就是nginx与php-fpm的交互问题,看我们选择是sock方式还是http方式,但是不管选择哪一种,我们都需要统一
2、我在网上看到有人说将max_children 进程改大,其实这种情况我之前遇到过,它适用于本来php运行正常,突然出现502的问题,这个问题是php-fpm队列满了,出现连接拒绝的错误。如果有问题,可以参考我的博客:http://blog.csdn.net/m0_37886429/article/details/70048754
3、还有人说将php-fpm配置文件里有backlog,backlog是linux服务器在socket处理连接数的定义,phpfpm默认为-1,将-1改为4096,重启php-fpm问题。
4、其实我们不管选择哪一种,主要是针对自己的问题,先要看报错,然后再对症下药,不要这一种试试那一种试试。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111686.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • thinkpad笔记本电脑指示灯图解_thinkpad笔记本关机后,指示灯还亮

    thinkpad笔记本电脑指示灯图解_thinkpad笔记本关机后,指示灯还亮顺序自左向右: 1挂起状态指示灯绿色:计算机处于挂起状态绿色且不断闪烁:计算机正在进入挂起或休眠状态,或者正在从挂起或休眠状态中恢复回来2AC电源状态指示灯绿色:计算机连接到交流电源上3电池状态指示灯绿色:电池电量在80%到100%of之间,以及电量处于20%到80%之间,正在使用中.绿色且不断闪烁:电池电量在20%到80%之间,且正在充电中.橙色:电池电量

    2025年12月5日
    3
  • Redis 6379端口无法telnet登陆

    Redis 6379端口无法telnet登陆一、现象:Redis所在服务器无法telnet 二、问题原因  redis-server默认开放的127.0.0.1IP地址需要修改为0.0.0.0才可以被其他机器访问三、解决办法(Windows)  1,在Redis安装目录下找到配置文件 redis.windows.config  2,修改bind127.0.0.1改为bind0.0.0.0    3,重启Redis…

    2022年5月2日
    120
  • 分布式事务中的Saga模式「建议收藏」

    分布式事务中的Saga模式「建议收藏」微服务架构(MSA)已经变得非常流行。但是,一个常见问题是如何跨多个微服务管理分布式事务。当微服务架构将单体系统分解为自封装服务时,意味着单体系统中的本地事务现在分布到将按顺序调用的多个服务中。说到分布式事务,通常熟悉的是两阶段提交,TCC等常见模式。初次之外还有基于Saga实现的分布式事务。什么是Saga?Saga事务模型又叫做长时间运行的事务(Long-running-transact…

    2026年1月21日
    3
  • 定时任务框架Quartz-(一)Quartz入门与Demo搭建

    一、什么是Quartz什么是Quartz?Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer,Quartz增加了很多功能:持久性作业-就是保持调度定时的状态;作业管理-对调度作业进行有效的管理;…

    2022年4月6日
    36
  • gcc编译器参数_gcc for c4droid

    gcc编译器参数_gcc for c4droid【转载】gcc使用中常用的参数及命令 本文转载自:http://www.cnblogs.com/yaozhongxiao/archive/2012/03/16/2400473.html如需转载,请注明原始出处。谢谢。—————————————————————-…

    2022年10月13日
    9
  • 香农编码,哈夫曼编码与费诺编码的比较[通俗易懂]

    香农编码,哈夫曼编码与费诺编码的比较[通俗易懂]一、香农编码概念:香农编码是是采用信源符号的累计概率分布函数来分配字码的。香农编码是根据香农第一定理直接得出的,指出了平均码长与信息之间的关系,同时也指出了可以通过编码使平均码长达到极限值。香农第一定理是将原始信源符号转化为新的码符号,使码符号尽量服从等概分布,从而每个码符号所携带的信息量达到最大,进而可以用尽量少的码符号传输信源信息。香农编码属于不等长编码,通常将经常出现的消息变成短码,不…

    2025年10月24日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号