504 gateway time-out:Nginx 504 Gateway time-out错误完美解决方案分享
今天来聊聊一篇关于504 gateway time-out:Nginx 504 Gateway time-out错误完美解决方案分享的文章,现在就为大家来简单介绍下504 gateway time-out:Nginx 504 Gateway time-out错误完美解决方案分享,希望对各位小伙伴们有所帮助。
在安装完Nginx+PHP-fpm+Mysql后,跑PHP的应用会经常出现504 Gateway Time-out 或者502 Bad Gateway的情况。
Nginx 504 Gateway Time-out 的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的 PHP-CGI。这种情况可能是由于 nginx 默认的 fastcgi 进程响应的缓冲区太小造成的, 这将导致 fastcgi 进程被挂起, 如果你的 fastcgi 服务对这个挂起处理的不好, 那么最后就极有可能导致 504 Gateway Time-out。
Nginx 504 Gateway time-out错误.jpg
一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入:
fastcgi_buffers 8 128k
这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作, 可能需要nginx的超时参数调大点, 例如设置成60秒:
send_timeout 60;
我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错
这个问题耽误了我差不多4个小时的时间,网上有很多前辈们的解决方法,在这里记录下解决这个问题的思路。首先这个问题主要是因为PHP的Script执行时间太长了,已经超过nginx能接受的底线。
在nginx的日志中会看到这样的log
2012/08/11 13:39:45 [error] 30788#0: *1 upstream timed out (110: Connection timed out)
while reading response header from upstream, client: 127.0.0.1, server: www.cr173.com
request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.cr173.com
在php-fpm的日志中会发现这样的log
2012/08/11 13:39:45 [error] 30788#0: *1 upstream timed out (110: Connection timed out)
while reading response header from upstream, client: 127.0.0.1, server: www.cr173.com
request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.cr173.com"
一般来说,出现这样的情况是因为Nginx会从php-fpm的9000端口读取fastcgi的执行结果,等来N久都不见回复,所以就报504了。解决办法很简单,修改php的最长执行时间
; Maximum execution time of each script, in seconds; http://php.net/max-execution-time;
Note: This directive is hardcoded to 0 for the CLI SAPI;
fix by Matt 2012.8.11
;max_execution_time = 3000
在这里我注释掉php.ini参数的时间限制。还有php-fpm里的
;request_terminate_timeout = 0
这个参数会在php.ini中max_execution_time因为某些原因不能正常工作才会生效。
之前设置的是300s,安装Magento的时候就一直就报504。后来索性修改到3000了。在Nginx的配置文件添加
#add by Matt 2012.8.11
fastcgi_read_timeout 3000;
fastcgi_connect_timeout 3000;
fastcgi_send_timeout 3000;
Magento你到底安装多少sql文件啊?
PS:有时候缓存过小也会引起504,具体情况还需要根据Nginx的日志内容来分析。修改fastcgi的缓存大小:
fastcgi_buffers 2 256k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
VPS出现Nginx 504 Gateway time-out错误
西西 只对 Nginx.conf 和 php-fpm.conf 两个配置文件做了一些修改,观察一段时间,看看效果。
1.将 Nginx.conf 配置文件中相应参数设置为如下:
命令:vi /usr/local/nginx/conf/nginx.conf (lnmp.org出品的lnmp一键安装包路径,其它请自行找目录)
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;#8 128
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
2.将 php-fpm.conf 配置文件中相应参数设置为如下值:
命令:vi /usr/local/php/etc/php-fpm.conf (lnmp.org出品的lnmp一键安装包路径,其它请自行找目录)
9(西西 购买的vps内存较小所以不能设置太大,应根据你的内存来设置)
600s(根据具体情况设置,详请查阅参考文章)
apache-like (php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。)
对 Linux 西西 也是菜鸟,只好照着别人的方法来设置了,等一段时间,没什么问题了,这个方法应该就是一个很有效的方法了。
相信通过504 gateway time-out:Nginx 504 Gateway time-out错误完美解决方案分享这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
宝子们,杭州 房子装修完成啦!这次要给大家分享几家设计超赞的装修公司哦。它们各具特色,从空间规划到风格...浏览全文>>
-
欲筑室者,先治其基。在上海,装修房子对于每个业主而言,都是极为关键的一步,然而,如何挑选一家值得信赖的...浏览全文>>
-
2025年以来,联通支付严格贯彻落实国家战略部署,以数字和科技为驱动,做好金融五篇大文章,履行支付为民社会...浏览全文>>
-
良工巧匠,方能筑就华居;精雕细琢,方可打造美家。当我们谈论装修公司时,选择一家靠谱可靠的公司是至关重要...浏览全文>>
-
在当今社会,随着城市化进程的高速推进,建筑垃圾的产生量与日俱增。据权威数据显示,我国每年建筑垃圾产生量超 ...浏览全文>>
-
家人们,在上海要装修,选对公司那可太重要了!古语有云:"安得广厦千万间,大庇天下寒士俱欢颜。"一个温馨的...浏览全文>>
-
近年来,新能源汽车市场发展迅猛,各大品牌纷纷推出各具特色的车型以满足消费者多样化的需求。作为国内新能源...浏览全文>>
-
近年来,随着汽车市场的不断变化和消费者需求的升级,安徽滁州地区的宝来2025新款车型在市场上引起了广泛关注...浏览全文>>
-
随着汽车市场的不断变化,滁州地区的消费者对高尔夫车型的关注度持续上升。作为大众品牌旗下的经典车型,高尔...浏览全文>>
-
在2023年,大众探影以其时尚的设计和出色的性能赢得了众多消费者的青睐。作为一款小型SUV,探影凭借其紧凑的车...浏览全文>>
- 安徽滁州途安L新车报价2022款,最低售价16.68万起,入手正当时
- 小鹏G7试驾,新手必知的详细步骤
- 别克GL8预约试驾,4S店的贴心服务与流程
- 安徽阜阳ID.4 CROZZ落地价全解,买车必看的省钱秘籍
- 淮北探岳多少钱 2025款落地价,最低售价17.69万起现在该入手吗?
- 安徽淮南大众CC新款价格2025款多少钱能落地?
- 淮北长安启源C798价格,最低售价12.98万起现在该入手吗?
- 安徽淮南途锐价格,各配置车型售价全解析
- 蒙迪欧试驾预约,4S店体验全攻略
- 沃尔沃XC40试驾需要注意什么
- 滁州ID.4 X新车报价2025款,各车型售价大公开,性价比爆棚
- 试驾思域,快速操作,轻松体验驾驶乐趣
- 试驾长安CS35PLUS,一键搞定,开启豪华驾驶之旅
- 天津滨海ID.6 X落地价限时特惠,最低售价25.9888万起,错过不再有
- 天津滨海凌渡多少钱?看完这篇购车攻略再做决定
- 安徽池州长安猎手K50落地价,买车前的全方位指南
- 山东济南ID.6 CROZZ 2024新款价格,最低售价19.59万起,现车充足
- 试驾海狮05EV,新手必知的详细步骤
- 生活家PHEV多少钱 2025款落地价走势,近一个月最低售价63.98万起,性价比凸显
- 奇瑞风云A9试驾,新手必知的详细步骤