分析
nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如导入一批大数据导致前端等待很长时间,这样就会出现超时。
通常修改nginx以下配置可以解决问题
nginx.conf中,设置以下几个参数,增加超时时间
http {
...
fastcgi_connect_timeout 3000;
fastcgi_send_timeout 3000;
fastcgi_read_timeout 3000;
...
}
fastcgi_connect_timeout
fastcgi连接超时时间,默认60秒
fastcgi_send_timeout
nginx 进程向 fastcgi 进程发送请求过程的超时时间,默认值60秒
fastcgi_read_timeout
fastcgi 进程向 nginx 进程发送输出过程的超时时间,默认值60秒
server {
listen 8888;
location / {
proxy_pass http://pdfs;
proxy_connect_timeout 18000;
proxy_send_timeout 18000;
proxy_read_timeout 18000;
}
}
proxy_connect_timeout 1800s;#nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 1800s;#后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 1800s;#连接成功后,后端服务器响应时间(代理接收超时)