今天在使用nginx时发现运行php页面会提示502 bad gateway这类错误了,下面我根据各位群友提供的一些方法完美的解决了502 bad gateway问题。

访问phpMyAdmin时,出现下面错误。

phpMyAdmin – Error

Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.第一次打开提示,刷新提示:

502 bad gateway

查看nginx error log:

[error]  recv() failed (104: Connection reset by peer) while reading response header from upstream, client:, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "mysql.veryi.com"

查看php session.save_path的设置,默认是/var/lib/php/session。修改该目录nginx进程的用户有读写权限。问题解决。

其他可能:

部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:

代码如下

复制代码

http

{

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

}

php.ini中memory_limit设低了会出错,可以加大php.ini的memory_limit为64M。

附整理了一些其它可能导致502 bad gateway错误原因

.php-fpm进程数不够用

使用 netstat -napo |grep "php-fpm" | wc -l 查看一下当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数。

但也不能无休止调高,可以根据服务器内存情况,可以把php-fpm子进程数调到100或以上,在4G内存的服务器上200就可以。

2. 调高调高linux内核打开文件数量

可以使用这些命令(必须是root帐号)

echo 'ulimit -HSn 65536' >> /etc/profile

echo 'ulimit -HSn 65536' >> /etc/rc.local

source /etc/profile

3.脚本执行时间超时

如果脚本因为某种原因长时间等待不返回 ,导致新来的请求不能得到处理,可以适当调小如下配置。

nginx.conf里面主要是如下

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

php-fpm.conf里如要是如下

request_terminate_timeout = 10s

4.缓存设置比较小

修改或增加配置到nginx.conf

proxy_buffer_size 64k;

proxy_buffers  512k;

proxy_busy_buffers_size 128k;

5. recv() failed (104: Connection reset by peer) while reading response header from upstream

可能的原因机房网络丢包或者机房有硬件防火墙禁止访问该域名

但最重要的是程序里要设置好超时,不要使用php-fpm的request_terminate_timeout,

最好设成request_terminate_timeout=0;

php502bad gateway,经验之谈:nginx php 502 bad gateway 解决方法相关推荐

  1. nginx常见502错误的解决方法

    Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数.具体就是修改/usr/local/php/etc/php-fp ...

  2. nginx 返回 502 Bad Gateway

    问题描述: nginx 返回502 Bad Gateway 原因分析: 查看nginx错误日志大量 upstream timed out (110: Connection timed out) 排查后 ...

  3. nginx配置与常见错误解决方法

    nginx配置与常见错误解决方法 参考文章: (1)nginx配置与常见错误解决方法 (2)https://www.cnblogs.com/lechie/archive/2011/11/12/2383 ...

  4. 智能一代云平台(二十一):生产环境Nginx报 502 Bad Gateway 问题复现及解决方案

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 系统最近出现了一个问题,经过相应的排查解决了:在此记录一下解决的整个过程,如果大家遇到 ...

  5. nginx php 502 bad gateway,nginx 502 bad gateway问题怎么解决

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

  6. java nginx 502_Nginx 502 bad gateway问题的解决方法

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

  7. Nginx常见的错误及解决方法

    1.Nginx 常见启动错误 有的时候初次安装nginx的时候会报这样的错误 sbin/nginx -c conf/nginx.conf 报错内容:sbin/nginx: error while lo ...

  8. 通过nginx访问web,出现ERR_CONTENT_LENGTH_MISMATCH解决方法

    问题描述 前端页面加载css,js文件或者png图片的时候,经常出现ERR_CONTENT_LENGTH_MISMATCH的报错情况. 查找问题 在单独打开hearder中css,js的网络地址是能打 ...

  9. Nginx的页面中文乱码解决方法

    Nginx的页面乱码解决方法 在server段里加以下 charset utf-8;然后重启就行了 sudo nginx -s reload MIME-type和Content-Type的关系: 当w ...

最新文章

  1. “人工智能之父”艾伦·图灵登上英国50英镑新钞
  2. linux命令历史详解
  3. python软件下载安装要钱吗-PyCharm下载和安装详细步骤
  4. OpenCV加载图像列表imagelist的实例(附完整代码)
  5. jQuery的next()、nextAll()、nextUntil()方法
  6. python运行界面黑色,在Python中使用open执行轮廓检测后,如何使图像的背景变黑?...
  7. ISE MAP报错: Unsupported programming for BSCAN block and JTAG_CHAIN attribute value 1的解决方法...
  8. 苹果12可以双开微信吗 iPhone 12双开微信教程「iphone技巧」
  9. 安卓中压缩纹理ETC1和ETC2
  10. [论文] Feature Squeezing:Detecting Adversarial Examples in Deep Neural Networks
  11. 建立一个电脑网络至少需要两台计算机,两台电脑想共享一台打印机,需要什么条件?...
  12. KDD2019 | 开放学术图谱 (OAG): 大规模知识图谱异构实体对齐
  13. js原型、原型链、原型链继承详解
  14. Scylla AntDB 安装
  15. 外贸里面 LC TT DP DA BG 是什么
  16. 【樂理】中國古典音樂樂理
  17. 无线网络组建之设备选型
  18. 中華電信國際漫遊服務一覽表
  19. 网络空间安全-密码学
  20. 神州数码易拓TIPTOP ERP查询作业模板-1个单头并列2个单身查询作业

热门文章

  1. Java-Stream流式编程详解
  2. nginx中root和alias;proxy_pass
  3. 骨传导蓝牙耳机什么牌子好?骨传导耳机品牌推荐
  4. [AndroidO] [RK3399] -- GPIO驱动与控制方式
  5. tcp accept函数
  6. 转:美元资产面临再暴跌 中国5000多亿美元外汇储备告急
  7. __attribute__((section(x))) 使用详解
  8. ruoyi(若依)配置多数据源(mysql+postgresql),rouyi(Springboot)多数据源设置
  9. Mysql 开启远程访问权限
  10. 计算机英语词汇的特点,浅析二十世纪计算机英语词汇的构成特点