nginx出现504 Gateway Time-out的问题解决详解程序员

nginx出现504 Gateway Time-out的问题解决

出现该错误的原因:
是因为php页面消耗的最大内存默认是为 8M (在PHP的ini件里可以看到) ,如果文件太大 或图片太大 在读取的时候(造成网页请求超时,也就是浏览网站网页所发出的请求没有反应或者未响应) 会发生上述错误。

1.若nginx采用的是php请求解析服务是ftp,检查 /etc/php/fpm/php.ini参数

php默认上传文件大小是8M,在此我修改成100M,可自行适当修改(在此上传100M以内的文件扔报504,则走下一步)

Upload_max_filesize=100M 
Post_max_size=100m 
memory_limit=500m 
 

重启fpm

/etc/init.d/php7.0-fpm restart 
或 
service php7.0-fpm restart 
2.cd /etc/nginx/nginx.conf … 进去nginx配置文件添加

PS:有时候缓存过小也会引起504,具体情况还需要根据Nginx的日志内容来分析
修改fastcgi的缓存大小如下:

http{ 
 
... 
    client_max_body_size 500m; 
 
    fastcgi_connect_timeout 3000; 
    fastcgi_send_timeout 3000; 
    fastcgi_read_timeout 3000; 
    fastcgi_buffer_size 64k; 
    fastcgi_buffers 4 64k; 
    fastcgi_busy_buffers_size 128k; 
    fastcgi_temp_file_write_size 128k; 
   server_names_hash_bucket_size 128; 
    client_header_buffer_size 1 
    large_client_header_buffers 4 256k; 
    ... 
} 
3.还有php-fpm里的配置文件 /etc/php/7.0/fpm/pool.d -> 编辑www.conf

还有就是php-fpm.conf中max_children与request_terminate_timeout两个重要参数的设置。这两个参数的设置需要我们根据PHP程序情况及服务器带宽状况综合考虑并计算出合理准确的值

//在此我仅注释了此行 
;request_terminate_timeout = 0; 

成功!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/2424.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论