两步解决Nginx/Tengine服务出现504 gateway time-out的问题

 
0 2684
泡沫随风飘
2018-09-02 18:44

网友的站点的部分页面出现了 504 gateway time-out错误。他的服务器配置是阿里云轻量应用服务器,Centos7.4,Tengine(nginx)+PHP5.6。

image.png

出现这个提示,按照字面上的意思就是504网关超时。一般是网站程序对提交的请求响应超时,超过了设置的最大等待时间。

这位网友出现这种情况是因为后台请求的内容列表过多,数据有两万多条。这种情况下,我们优先考虑优化程序,减少程序的执行时间。如果不能优化程序或者优化程序效果不好,我们可以通过修改配置增大超时时间。

1、修改Nginx配置。

在nginx.conf中的http层加上fastcgi参数如下:

http {

    ...

    fastcgi_connect_timeout=300; #fastcgi连接超时时间,默认60秒 

    fastcgi_send_timeout=300; #nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒

    fastcgi_read_timeout =300  #fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒  

    ....

}


2、修改PHP配置

在php.ini 中找到max_execution_time参数并修改。

; Maximum execution time of each script, in seconds

;  

; Note: This directive is hardcoded to 0 for the CLI SAPI

max_execution_time = 1;#限定了脚本的最大执行时间(单位是秒)

在php-fpm.conf中找到request_terminate_timeout  参数并修改

; The timeout for serving a single request after which the worker process will

; be killed. This option should be used when the 'max_execution_time' ini option

; does not stop script execution for some reason. A value of '0' means 'off'.

; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)

; Default Value: 0

;request_terminate_timeout = 0

request_terminate_timeout = 4s;#设置为 ‘0’ 表示 ‘Off’。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。

修改配置后注意重启ngnix或重载配置。

本文内容由互联网用户自发贡献,版权归作者所有,本站不拥有所有权也不承担相关法律责任。如需转载请按以下形式注明来源: 复制

文章来源:阿里云牛优惠资讯网
文章标题:两步解决Nginx/Tengine服务出现504 gateway time-out的问题
原文地址:https://aliyunnew.com/a/287.html
发布时间:2018-09-02 18:44
相关话题
没有相关话题
猜您喜欢
回帖
  • 抢占沙发~~