Bad Gateway就是性能或资源不足所导致了,我们浏览网页时常常会碰到一些nginx环境出现这类提醒了,下面我来给大家解决在使用nginx服务器时出来的502(Bad Gateway)错误。

买了一台云服务器后,系统自动给安装了Nginx 1.6 + php 5.3.28 + mysql 5.5

把PHP程序放进云服务器后,首次测试程序访问正常,速度正常

但是把程序放到线上访问后,会逐步发现,访问的PHP页面越来越慢,最后直接出现502 bad gateway问题。

(在php-fpm.conf中,原本就设置了 pm = static 模式,并设置 pm.max_children = 128)

分析:

打开nginx访问日志,访问量并不高,平均每秒也就10个不到的请求IP,所以,按理,这点访问量,不可能导致出现PHP请求过多,出现502的。

打开php-fpm.conf日志,出现很多PHP警告问题,

再调整php-fpm的pm模式为pm = dynamic,

pm.start_servers = 20
 
pm.min_spare_servers = 5
 
pm.max_spare_servers = 35
 
pm.max_requests = 10000
 
 
 
重启php-fpm后,用ps查看php进程:
 
ps -ef |grep -c php-fpm
    22
 
刚开始,访问PHP很快,然后越来越慢,再次查看进程
 
ps -ef |grep -c php-fpm
    28

从日志和进程变化来看,可以断定是PHP程序出现的问题,是PHP请求太多造成的。大概就是PHP页面中,调用了太多PHP的请求。把这个问题告诉开发后,开发解决之后,服务器再没出现502。

从上面配置来看我们是配置了一个请求数量了,当然这个配置不是最佳的哦,如果你还碰到此类问题可以对参数进行调整。

还有一篇:Nginx+PHP-FPM遇到的502报错 http://www.linuxidc.com/Linux/2012-02/54782.htm

LAMP-PHP-fpm服务器配置 http://www.linuxidc.com/Linux/2014-06/103093.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

高负载PHP-FPM调优 http://www.linuxidc.com/Linux/2013-07/86963.htm

Nginx php-fpm出现502解决办法和调优心得 http://www.linuxidc.com/Linux/2013-01/78566.htm

Nginx+PHP-FPM在两台服务器实现 http://www.linuxidc.com/Linux/2012-11/74001.htm

Ubuntu 10.04配置 nginx + php-fpm 模式 http://www.linuxidc.com/Linux/2012-11/74001p2.htm

Nginx&&PHP-FPM配置及优化指南(上) http://www.linuxidc.com/Linux/2012-07/65732.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-07/104711.htm

解决Nginx+PHP-FPM出现502(Bad Gateway)错误问题的更多相关文章

  1. nginx安装后出现502 Bad Gateway 错误解决办法

    1. 打开php-fpm.conf 2.将lisen值修改为 listen = 127.0.0.1:9000 并保存 3.重启服务/etc/init.d/php-fpm restart

  2. (总结)Nginx 502 Bad Gateway错误触发条件与解决方法

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

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

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

  4. Nginx 显示502 Bad Gateway错误

    今天系统发布到测试环境,有一个用户登录后显示502  Bad Gateway错误,其他的用户都登录成功.但是在开发机链接测试数据库,使用该账号登录成功. 初步猜测是Nginx的问题,查看nginx的错 ...

  5. 使用xhprof会在nginx下报502 Bad Gateway错误

    使用xhprof会在nginx下报502 Bad Gateway错误 xhprof_enable()xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMO ...

  6. nginx自定义500,502,504错误页面无法跳转【转】

    1.自定一个页面,这个页面是一个链接地址可以直接访问的. 以下是nginx的配置: location / {            proxy_pass http://tomcat_app108;   ...

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

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

  8. nginx 502 Bad Gateway 错误解决办法

    nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端PHP-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题 ...

  9. nginx报502 bad GateWay错误的解决方法

    nginx+php-fpm+mysql的网站,访问nginx的某个页面,报502 GateWay的错误,一般见到此错误,可以判断是php-fpm的问题,而不是nginx的问题.通过监控nginx的错误 ...

  10. Nginx 502 Bad Gateway 错误的解决方法

    502 bad gateway 的解决方法 通用配置 proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; # ...

随机推荐

  1. Markdown使用简单示例(每一个使用对应一个实际的markdown语法)

    1.标题示例:通过"#"数量表示几级标题.(一共只有1~6级标题,1级标题字体最大) 标题一 #标题一 标题二 #标题二 标题三 ###标题三 标题四 ####标题四 标题五 ## ...

  2. 浅谈块元素绝对定位的margin属性

    对于div的绝对定位一直以为margin属性是无效的,只是通过top,left,bottom,right定位,然而今天的却发现不是这样的,于是对其做了些实验: 使用的HTML原始测试文件: <! ...

  3. SpringMVC+springSecurity+flexPaper 配置--类似百度文库在线预览

    背景:现在项目需要做一个类似百度文库的在线预览功能,在网上找了下很多人推荐使用FlexPaper,所以今天尝试学习了FlexPaper顺便集成到现有的框架中 由于网上目前的说的都不是很详细,所以现在记 ...

  4. SpringMVC总结一:快速入门

    MVC: MVC是一种架构模型,本身没有什么功能,只是让我们的项目结构更加合理,流程控制更加清晰,一般包含三个组件: ​ **Model(模型)**:数据模型,用于提供要展示的数据.一般包含数据和行为 ...

  5. Dubbo管理中心部署

    我们在开发时,需要知道注册中心都注册了哪些服务,以便我们开发和测试.我们可以通过部署一个管理中心来实现.其实管理中心就是一个web应用,部署到tomcat即可. 管理端的部署: 1,首先我们要编译源码 ...

  6. zookeeper全局数据一致性及其典型应用(发布订阅、命名服务、帮助其他集群选举)

    ZooKeeper全局数据一致性: 全局数据一致:集群中每个服务器保存一份相同的数据副本,client 无论连接到哪个服务器,展示的数据都是一致的,这是最重要的特征. 那么zookeeper集群是怎样 ...

  7. 在centos 下安装配置基于gitosis 的git 服务

    前言 这里我用的系统是centos 6.2, 在服务器上的准备工作(服务器IP为10.0.2.8 ): 1.安装 openssh服务器与客户端工具 $ sudo yum install openssh ...

  8. Angular24 树形菜单 ???

    待更新... 2018年5月21日15:17:47 参考博文01 参考博文02

  9. opencv掩膜操作

    #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...

  10. 更改windows服务的配置文件(app.config)必须重启服务才能生效吗?

    这个问题是前一阶段写windows服务碰到的.本来在写获取配置文件的某个配置的值的时候,通常我都是写类似下面的这么一个静态方法来获取: 1: /// <summary> 2: /// 获取 ...