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;

成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值