合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
[TOC] # 参考文章 请看这篇文章,作者的思路太清晰了! 文章1:《Nginx 中 502 和 504 错误详解》地址:https://segmentfault.com/a/1190000002686153 (我是按照这个总结的) 文章2:《Nginx+php-fpm 502 504问题》http://www.yanshiba.com/archives/681?tdsourcetag=s_pctim_aiomsg 文章3:《php-fpm nginx 优化[转]》https://www.jianshu.com/p/c653e85b5a40?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation >注:可分析日志文件,日志文件在 `/var/log/nginx` 下的 `error.log` 和 `access.log` # (一)在 `php.ini` 修改 >目的:增加“最大执行时间” 文件位置: `/etc/php.ini` ``` max_execution_time = 36000 #注:以前为3600 ``` # (二)在 `php-fpm.conf` 修改 >目的:增加“请求终止超时”的时间 文件位置:`/usr/local/php/etc/php-fpm.conf`,因为这个文件include www.conf, 所以文件位置在 `/usr/local/php/etc/php-fpm.d/www.conf` ``` request_terminate_timeout = 30 #注:这个文件以前没开启且默认为0 ``` # (三) 在 `xx.conf` 配置 >目的:与上游服务器通信超时时间的配置 `` fastcgi_connect_timeout 180; fastcgi_read_timeout 600; fastcgi_send_timeout 600; `` 示例: ``` location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_connect_timeout 180; fastcgi_read_timeout 600; fastcgi_send_timeout 600; include fastcgi_params; } ``` # (四)如果采用负载均衡的话,在 `xx.conf` 中配置 `upstream` >max_fail 调大一些,将 fail_timeout // ``` upstream  my.upstream.com { server  10.1.1.2   max_fails=1   fail_timeout=10s;  server  10.1.1.3   max_fails=1   fail_timeout=10s;   #max_fails默认值为1,fail_timeout默认值为10s,max_fails=0表示不做检查 } ``` # (五)重新启动 `nginx` 和 `php-fpm` ``` service nginx stop service nginx start killall php-fpm /etc/init.d/php-fpm start ```