解决nginx 504 Gateway Time-out的一些方法
在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现。
从 错误代码基本可以确定跟nginx本身无关,主要是提交给PHP-fpm的请求未能正确反馈而导致,一般情况下,提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器,但 我这个vps目前跑的是个纯php应用内容,实际上用户所有的请求都是php请求,有的耗费时间比较久,php-cgi进程就一直都被用满,而php- fpm本身的配置文件只打开了10组php-cgi进程,这样的话在线用户稍微多的话就会导致请求无法被正常处理而出错。
大概分析出了原 因,下面做就比较容易了,首先是更改php-fpm的几处配置:
把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用;
把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。
接着再更改nginx的几个配置项,减少FastCGI的请求次 数,尽量维持buffers不变:
fastcgi_buffers由 4 64k 改为 2 256k;
fastcgi_buffer_size 由 64k 改为 128K;
fastcgi_busy_buffers_size 由 128K 改为 256K;
fastcgi_temp_file_write_size 由 128K 改为 256K。
好了,重新加载php-fpm和nginx的配置,再次测试,至今两周时间内没有再出现504 Gateway Time-out的情况,算是达到效果了。
另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。
<value name=”style”>apache-like</value>
从更改完毕到现在的测试表明上述方式的效果还是很明显的,并没有发现一次Nginx502 bad gateway或504 Gateway Time-out错误。当然,如果你的VPS或者服务器的性能足够好可以根据具体情况不必做无谓的改动。
来源:http://blog.csdn.net/tengzhaorong/article/details/5814905
解决nginx 504 Gateway Time-out的一些方法相关推荐
- flask uwsgi nginx *504* Gateway Time ou解决办法
flask uwsgi nginx 504 Gateway Time ou解决办法 此方法有可能无效 修改 vi /etc/nginx/conf.d/配置文件名.conf 添加如下信息: uwsgi_ ...
- 深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway(亲测)
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 Gateway ...
- 深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway Time-out
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 Gateway ...
- 记一次 nginx 504 Gateway Time-out
今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有5 ...
- 解决 502、504 Gateway Time-out(nginx)
504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在升级discuz论坛的时候遇到的 一般看来, 这种情况可能是由于nginx默认 ...
- 【Nginx】解决 504 Gateway Time-out
文章目录 Nginx + FastCGI (php-fpm) Nginx Proxy Timeout 常见的对应报错信息 "504 Gateway Timeout" "5 ...
- Faithfully yours, nginx. 浏览器中显示包504,504 Gateway Time-out解决办法
1.修改/etc/nginx/nginx.conf,添加如下信息: http {include /etc/nginx/mime.types;default_type application/octet ...
- Nginx PHP 报504 Gateway time-out错误的解决方法
Nginx PHP 报504 Gateway time-out错误的解决方法 参考文章: (1)Nginx PHP 报504 Gateway time-out错误的解决方法 (2)https://ww ...
- Nginx 出现504 Gateway Time-out的解决方法
Nginx 出现504 Gateway Time-out的解决方法 参考文章: (1)Nginx 出现504 Gateway Time-out的解决方法 (2)https://www.cnblogs. ...
最新文章
- 总结自己的Git常用命令
- 中国地质大学c语言程序设计答案,2016年中国地质大学(北京)信息工程学院C语言程序设计(同等学力加试)考研复试题库...
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1078:求分数序列和
- 搜索旋转排序数组—leetcode31
- 正则去除html行内样式,Android-富文本处理-html字符串去掉内部样式,统一添加body、style,统一支持换行等...
- 【操作系统】进程调度(2a):SJF(短任务优先) 算法 原理与实践
- java中img属性_如果html img的src属性无效,请输入默认图像?
- django 1.8 官方文档翻译: 3-5-2 使用Django输出PDF
- win服务器自动发邮件,asp.net基于windows服务实现定时发送邮件的方法
- Google 高薪争夺 Rust 人才,将用 Rust 重构关键组件!
- CSDN Chrome插件更新:用CSDN的方式让开发再快一点
- SSA静态单赋值概念理解
- html5页面中添加腾讯地图api
- 【安全牛学习笔记】cookie安全问题
- 大神李沐被曝离职亚马逊,投身大模型创业!网友:“AI 已成创业致富新思路?”...
- 【ANSYS】Notepad++:一款好用的APDL语法编辑器
- 如何彻底关闭win11自动更新
- 深度学习中,范数有什么意义
- VC++6.0报错: include stdafx.h before including this file for PCH
- 多边形碰撞检测(判断点在多边形内)