php-fpm报502问题的解决办法
作者:幸福丶如此 发布时间:2023-10-12 04:12:23
搭建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"
备注: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://blog.csdn.net/m0_37886429/article/details/71191502


猜你喜欢
- 代码如下: function HandleTabKey(evt) {
- 瞎鼓捣系列~Numpy + matplotlib 画一个魔方前言NumPy是Python科学计算的基本包。它是一个Python库,提供了多维
- 本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下:这里主要测试在Python中
- 安装库位置和显示方式简单总结:一、位置的不同 1.自带库在环境的 lib\\os.py&nb
- 背景阿里云RDS FOR MySQL(MySQL5.7版本)数据库业务表每月新增数据量超过千万,随着数据量持续增加,我们业务出现大表慢查询,
- 前言:这个系列的专栏是为了保持 Python 手感而创建的,也可以用来学习 Python,因为存在知识跨越难度,所以先学习滚雪球系列为佳。二
- request post 列表的方法今天拿着已经写好的服务接口, 尝试传送一些列表, 发现传送的结果跟实际传送的数据并不一致,然后又开始了漫
- Keras应该是最简单的一种深度学习框架了,入门非常的简单.简单记录一下keras实现多种分类网络:如AlexNet、Vgg、ResNet采
- 就像这个图的样子:解决方法,setting.py中DEBUG选项为True,否则无法映射到静态文件目录来源:https://blog.csd
- 方法一:mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist)for item in m
- 改变列的数据类型 [sql] ALTER TABLE visitor MODIFY nam VARCHAR(30); 追加新列 [sql]
- 下面的教程总结了Javascript在网页定位方面的相关知识。一、网页的绝对大小和相对大小首先,要明确两个基本概念。一张网页的全部面积,就是
- 如图,今天跑代码的事后遇到的问题,pycharm导入我自己写的各种函数.py文件时有红色标注,显示“no moudle balabala…”
- Player.playState0 Undefined Windows Media Player is in an undefined st
- 0.引言利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的
- 在现代LOGO设计当中,叶子的形状被视做好的创意。或者说,是一种变革的想法。在网页中他们大多被用于轻量级的解决方案、干净的不抽像的设计。在实
- 大家好,我是安果!目前公司使用 Jira 作为项目管理工具,在每一次迭代完成后的复盘会上,我们都需要针对本次迭代的&nb
- 在使用ionic开发IOS系统微信的时候会有一个苦恼的问题,填写表单的时候键盘会挡住输入框,其实并不算什么大问题,只要用户输入一个字就可以立
- 本文实例讲述了Python基于回溯法子集树模板解决马踏棋盘问题。分享给大家供大家参考,具体如下:问题将马放到国际象棋的8*8棋盘board上
- 前言当我们编写任何程序时,都会遇到一些错误,会让我们有挫败感,所以我有一个解决方案给你。 今天在这篇文章中,我们将讨论错误类型error: