Nginx 常见问题与错误处理

常见问题与错误处理

1、 400 bad request 错误的原因和解决办法

配置 nginx.conf 相关设置如下.

client_header_buffer_size 16k;

large_client_header_buffers 4 64k;

根据具体情况调整,一般适当调整值就可以。

2、 Nginx 502 Bad Gateway 错误

proxy_next_upstream error timeout invalid_header http_500 http_503;

或者尝试设置:

large_client_header_buffers 4 32k;

——————————————————————————————————————————————

期待您的加入我们!一起建立最好的技术分享社区! Gmail:cnseek@gmail.com/MSN:cnseek@msn.com

IT 运维专家网 【 推广 Nginx 之基础应用教程】 http://www.linuxtone.org

3、 Nginx 出现的 413 Request Entity Too Large 错误

这个错误一般在上传文件的时候会出现,

编辑 Nginx 主配置文件 Nginx.conf,找到 http{}段,添加

client_max_body_size 10m; //设置多大根据自己的需求作调整.

如果运行 php 的话这个大小 client_max_body_size 要和 php.ini 中的如下值的最大值

一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。

post_max_size = 10M

upload_max_filesize = 2M

4、 解决 504 Gateway Time-out(nginx)

遇到这个问题是在升级 discuz 论坛的时候遇到的

一般看来, 这种情况可能是由于 nginx 默认的 fastcgi 进程响应的缓冲区太小造成的,

这将导致 fastcgi 进程被挂起, 如果你的 fastcgi 服务对这个挂起处理的不好, 那么最后就

极有可能导致 504 Gateway Time-out

现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百 K。

默认的 fastcgi 进程响应的缓冲区是 8K, 我们可以设置大点

在 nginx.conf 里, 加入: fastcgi_buffers 8 128k

这表示设置 fastcgi 缓冲区为 8× 128k

当然如果您在进行某一项即时的操作, 可能需要 nginx 的超时参数调大点,例如设置成

60 秒: send_timeout 60;

只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也

可能是由于其他的原因, 目前关于 nginx 的资料不是很多, 很多事情都需要长期的经验

累计才有结果, 期待您的发现哈!