分析
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;#连接成功后,后端服务器响应时间(代理接收超时)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐