java nginx 502_Nginx 502 bad gateway问题的解决方法
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。
常见的原因可能是php-cgi进程数不够用、php执行时间长(mysql慢)、或者是php-cgi进程死掉,都会出现502错误。
1. 在安装好的环境中,运行一段时间出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
2. php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
3. 磁盘空间不足,可以使用 # df -h命令查看磁盘使用量
4. php-cgi进程死掉了。
通常的排查方法如下:
1、查看php fastcgi的进程数(max_children值)
# netstat -anop | grep php-cgi | wc -l
# netstat -anpo | grep php-fpm | wc -l
假如显示是5
2、查看当前进程
# ps aux | grep php-fpm 观察fastcgi/php-fpm进程数,假如使用的进程数等于或高于5个,说明需要增加。
3、调整/usr/local/php/etc/php-fpm.conf 的相关设置
pm.max_children = 5
request_terminate_timeout = 60
max_children最多5个进程,按照每个进程20MB内存,最多100MB。也就是1分钟。max_children增多,则php-cgi的进程多了就会处理的很快,排队的请求就会很少。 但是设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。根据自己服务器购买的内存来实际决定。
request_terminate_timeout执行的时间为60秒,request_terminate_timeout值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分钟都可以。
4. 部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:
http
{
......
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
......
}
java nginx 502_Nginx 502 bad gateway问题的解决方法相关推荐
- NGINX 502 Bad Gateway 用upstream解决方法
一般nginx搭配php都采用这样的方式: location ~ \.php$ { proxy_pass http://localhost:9000; fastcgi_param SC ...
- nginx常见502错误提示原因和解决方法
Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数.具体就是修改/usr/local/php/etc/php-fp ...
- nginx PHP执行 502 bad gateway 或空白解决笔记
配置安装好NGINX PHP 等WEB服务,刚开始执行PHP的时候会变成下载:这是因为nginx没有设置好无法把PHP传递到后方的php-fpm解释器.目录安装不一样,可能都会有不同. 看看你的ngi ...
- nginx 返回 502 Bad Gateway
问题描述: nginx 返回502 Bad Gateway 原因分析: 查看nginx错误日志大量 upstream timed out (110: Connection timed out) 排查后 ...
- Nginx 出现504 Gateway Time-out的解决方法
Nginx 出现504 Gateway Time-out的解决方法 参考文章: (1)Nginx 出现504 Gateway Time-out的解决方法 (2)https://www.cnblogs. ...
- opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类
opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...
- 我爱Java系列---【 maven依赖版本冲突的解决方法】
我爱Java系列---[ maven依赖版本冲突的解决方法] 参考文章: (1)我爱Java系列---[ maven依赖版本冲突的解决方法] (2)https://www.cnblogs.com/hu ...
- linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法
linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法 参考文章: ( ...
- Java进程占用内存过高,排查解决方法
Java进程占用内存过高,排查解决方法 参考文章: (1)Java进程占用内存过高,排查解决方法 (2)https://www.cnblogs.com/eeexu123/p/10913389.html ...
最新文章
- 3年5000家,苏宁小店如何立足“中国第一O2O社区小店”?
- Linux内核2.6的进程调度
- linux内核杂记(18)-内核链表结构(2)
- verilog 简单module_一个简单的verilog小程序
- clientHeight.offsetHeight.scrollHeight等的区别
- 微信网页授权,并获取用户头像,昵称等基本信息代码实例
- python读取python源代码文件_python 学习源码练习(2)——简单文件读取
- QT学习-核心类列表-12、QtDesigner
- 《游戏学习》java实现连珠五子棋完整代码
- python字体大小设置苹果电脑_如何调整Mac字体大小Mac字体大小调整方法
- autosar 与osek 的nm
- Animation动画播放
- dismiss ios pop效果_iOS自定义转场动画-present和dismiss
- java controller注解原理_SpringMVC运行流程与原理【Controller接口实现注解实现】
- 变量的作用域和生存期:_生存分析简介:
- 计算机课师生互动过多,《计算机应用基础》课师生互动教学策略的个案研究.doc...
- 竞争性传输函数:compet
- 报错 -Uncaught ReferenceError: axios is not defined
- 这篇Docker的网络通信与数据共享文章看不懂你来打我吧
- json解析到map
热门文章
- Spring boot项目打的jar包太大,如何让他瘦下来
- html之文本框的onkeydown()响应Enter键——键盘事件
- 创建日志表和插日志信息的sp
- Spring声明式事务@Transactional 注解参数详解
- 可拆卸智能安全帽之创新极品~智能帽衬
- 内核编程Makefile名开头要大写,scripts/Makefile.build:44: /home/linux/Makefile: 没有那个文件或目录
- 软件工程(QLGY2015)博客点评总结
- JavaCV的摄像头实战之三:保存为mp4文件
- 3*3矩阵乘法 c语言,c语言矩阵相乘
- MacBook Air 快捷键