线上一台机器(该论坛所在机器)近期频繁出现502,每100次访问就会出现10次,这频率也太高了。于是开始了我的502排查之旅

ps aux |grep -c php

结果为200

netstat -an |grep -c php

结果一直在5以下,这说明php-cgi 的进程是绝对够用的。

查看php-fpm.log

tail -f  /usr/local/php/logs/php-fpm.log

无有价值信息

查看nginx错误日志

tail -f /usr/local/nginx/logs/error.log

无有价值信息

感觉问题可能出在了nginx的配置上,于是网上找关于nginx.conf 的配置说明,改来改去始终解决不了这难缠的502。(该过程前后延续一周之多,改了N多个参数,因为没有价值,所以我不再详细记录,在这里简单一笔带过。)

几天过后,突然灵机一动,nginx的错误日志既然不报错,那说明定义的日志级别没有达到要报错的要求,于是找资料修改nginx错误日志级别为error(默认为crit) 
请参考http://mylinux.5d6d.net/thread-1289-1-1.html
终于发现有价值的信息:

connect() to unix:/tmp/php-fpm.socket failed (: Resource temporarily unavailable) while connecting to upstream

google了一番,马上就找到了解决问题的方法:

修改php-fpm.conf

<value name="backlog">-</value>

改成:

<value name="backlog"></value>

这是因为,php-fpm 在 backlog 设置为 -1 的情况下,表示backlog数无限制,由操作系统决定,而操作系统是由内核参数net.core.somaxconn 决定,我的操作系统该参数的值设置的很大为262144。该参数的值默认为128,我想设置成262144肯定是不合理的。所以,我又试验了一下。
不修改php-fpm.conf ,即backlog的值为-1, 然后把net.core.somaxconn修改为默认值128 ,此时也没有再出现502

本文引用:http://www.360doc.com/content/15/0923/13/27889159_501013998.shtml

nginx 502排错的更多相关文章

  1. Nginx 502错误触发条件与解决办法汇总(转载)

    一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现.有些站长是在刚刚转移到Nginx之后就出现了这个问题,所以经常会怀疑这是不是Nginx的问题,但 ...

  2. Nginx 502 bad gateway问题的解决方法

    Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad G ...

  3. Nginx 502 Bad Gateway 错误的原因及解决方法

    http://my.oschina.net/zhouyuan/blog/118708 刚才在调试程序的时候,居然服务器502错误,昨天晚上也发生了,好像我没有做非常规的操作. 然后网上寻找了下答案, ...

  4. NGINX+UWSGI 莫名发生Nginx 502 Bad Gateway错误的排查过程

    自己有个阿里云UBUNTU运行的Django站,使用NGINX+UWSGI驱动,今天登陆系统后台更新内容出现了几个大字:Nginx 502 Bad Gateway,一看情况不好,这是要糟糕啊. 啊西八 ...

  5. nginx 502 Bad Gateway 错误问题收集

    nginx 502 Bad Gateway 错误问题收集 (2010-11-18 13:51:37) 转载▼ 标签: 杂谈 分类: 工作 nginx 502 Bad Gateway 错误问题收集 因为 ...

  6. lnmp1.0 升级php.5.4.28 后出错 Nginx 502 Bad Gateway

    碰到一个很奇怪的问题,用lnmp自带的./upgrade_php.sh升级 php5.4.27正常.但升级到php5.4.28就出错,访问p.php 提示:Nginx 502 Bad Gateway. ...

  7. Nginx 502/504 Gateway time-out错误完美解决方案【转发】

      在安装完Nginx+PHP-fpm+Mysql后,跑PHP的应用会经常出现504 Gateway Time-out 或者502 Bad Gateway的情况. Nginx 504 Gateway ...

  8. nginx 502错误

    一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现.以下是小编搜集整理的一些Nginx 502错误的排查方法,供参考: Nginx 502错误的原因 ...

  9. NGINX 502错误排查(转)

    一.NGINX 502错误排查 NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多.将网上找到的一些和502 Bad Gateway错误有关 ...

随机推荐

  1. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_4.布局

    1. 绝对布局: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win. ...

  2. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

  3. html标签title属性值包括处理

    用js赋给title属性的html实体,<br/>无法解析,导致 也无法解析,应该使用\r\n代替,使用 无法实现换行,因为没有经过浏览器的再解析. str_info.replace(/\ ...

  4. CentOS 7 准备 Superset 环境

    安装 anaconda 和 superset 下载 anaconda 软件: https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86 ...

  5. Kubernetes系列:故障排查之Pod状态为CreateContainerError

    查看pod状态如下图所示,当前状态为CreateContainerError. 通过kube describe命令去查看Pod的状态发现没有提示任何错误.但是当通过命令kube logs查看pod的日 ...

  6. 爬取迷你mp4各个电影信息

    网站:www.minimp4.com # coding=utf-8 import requests from lxml import etree class Minimpe_moves(object) ...

  7. Spring Boot使用Liquibase最佳实践

    Liquibase问题 随着项目的发展,一个项目中的代码量会非常庞大,同时数据库表也会错综复杂.如果一个项目使用了Liquibase对数据库结构进行管理,越来越多的问题会浮现出来. ChangeSet ...

  8. 吴裕雄--天生自然python学习笔记:python 用pygame模块动画一让图片动起来

    动画是游戏开发中不可或缺的要素,游戏中的角色只有动起来才会拥有“生命”, 但动画处理也是最让游戏开发者头痛的部分.Pygame 包通过不断重新绘制绘图窗口,短短几行代码就可以让图片动起来! 动画处理程 ...

  9. HDU 6126 Give out candies(网络流)

    题目给出n,m,k 然后给出n*m的矩阵a[i][j]代表第i个人在获得j 颗糖果能得到的满足值, 然后k是k行每行输入三个整数x,y,z     ,x,y,z表示一组限制表示第x个人分到的糖数减去第 ...

  10. 项目部署篇之二——linux下安装jdk1.8

    1.下载jdk1.8 百度云下载后,直接通过xftp拖到你想放的目录下就行了,实在方便 链接:https://pan.baidu.com/s/1hQl0_3owT776lRO9mHSbXA 提取码:2 ...