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;

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的资料不是很多, 很多事情都需要长期的经验累计才有结果, 期待您的发现哈!

5、如何使用Nginx Proxy

朋友一台服务器运行tomcat 为8080端口,IP:192.168.1.2:8080,另一台机器IP:192.168.1.8. 朋友想通过访问http://192.168.1.8即可访问tomcat服务.配置如下:

在192.168.1.8的nginx.conf上配置如下:

server {
listen 80;
server_name java.linuxtone.org
location / {
proxy_pass http://192.168.1.2:8080;
include /usr/local/nginx/conf/proxy.conf;
}
}

6、如何关闭Nginx的LOG

access_log /dev/null;
error_log /dev/null;

时间: 2024-10-27 18:16:18

Nginx中常见问题与错误处理的相关文章

Nginx中错误提示:502 Bad Gateway解决办法

php-fpm支持的php-cgi 修改php-fpm 进程数在/usr/local/php/etc/php-fpm.conf 查找max_children 将后面的值修改成你要设置的值就可以 .  代码如下 复制代码 #vim  /usr/local/php/etc/php-fpm.conf <value name="max_children">4</value>        #max_children表示php-cgi的处理进程,设置max_childre

【Nginx】nginx中重写rewrite的语法错误[emerg] unknown directive

原来nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的写法是:   C/C++ Code复制内容到剪贴板 if ( $host != 'www.itokit.com' ){   rewrite ^(.*)$ http://www.itokit.com$1 permanent;   }       用^代替空格看起来更清晰:   if^(^$host^!=^'www.itokit.com'^){   反正多打几个空格就是了,所以nginx中的中文配置文件解释可参考

nginx-httpclient访问Nginx集群404错误

问题描述 httpclient访问Nginx集群404错误 在使用httpClient范文Nginx做的集群时,出现404错误.在浏览器中访问正常.发现原因是不知道哪块配置的不正确导致url套了两层二级目录.nginx集群配置如下 upstream weibo { ip_hash; server 10.30.30.152:8080 weight=2 fail_timeout=5; server 10.30.30.155:8080 weight=2 fail_timeout=5; server 1

关于nginx 出现accept4() failed错误问题

问题描述 关于nginx 出现accept4() failed错误问题 nginx作代理,用ab去压的时候(比如:ab -n 100000 -c 100000),没过多久ab反馈拒绝连接了,然后看到任务管理器中有一个nginx进程一直占用着CPU(如果是双核就占50%,换了一台8核的,就占用12%左右),错误日志猛增,内容都是2015/01/28 10:43:22 [alert] 11180#0: accept4() failed (22: Invalid argument) 这样的,若把ab的

Ajax程序开发中常见问题

Ajax程序开发中常见问题,看下文章或许你就少犯了许多错误了. 1.ajax,action中response返回的xml文档格式错误时,eclipse debug进入不到action中.     2.ajax缓存问题,需要加入xmlHttp.setRequestHeader("If-Modified-Since","0");便可解决.     3.如果不是ajax提交,而设置了PrintWriter out = response.getWriter();则jsp会产

SQL Server补丁版本的检查和安装过程中常见问题

server|过程|问题 来源:http://www.xfocus.net 一.SQL Server补丁版本的检查 SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响.1.用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入:如果是用

ubuntu+rails+passenger+apache+nginx的常见问题

很多问题的标题就是报错之后日志中记录的错误信息. apache的日志在/var/log/apache2/目录中,error.log.当然,也有可能在其他位置.如果是下载httpd,编译安装的话,有可能在/usr/local/apache目录中. nginx的日志在/opt/nginx/log/中,也是error.log.也是有可能在其他位置的,例如安装目录或者是/var/log/nginx/中. 1.rails 3.1.0 ActionView::Template::Errror (applic

Excel数据透视表使用过程中常见问题

  Excel数据透视表使用过程中常见问题            一.无法创建数据透视表 如果数据源表中有合并单元格,导致标题行为空,则会提示字段名无效. 二.更新后格式没有了 数据透视表设置列宽后或其他格式后,刷新后设置的格式失效了. 三.计数项的烦恼 问:制作完成的数据透视表显示计数项,为什么不是求和项? 答:数据源中含空单元格(包括多选的空行),可以先选前2行制作数据透视表,然后再修改数据源. 四.日期不能分组 问:为什么日期无法使用组合功能,按月份组? 答:日期列含非日期格式的值,包括文

nginx 502 Bad Gateway 错误解决办法

 一些运行在Nginx上的网站有时候会出现"502 Bad Gateway"错误,有些时候甚至频繁的出现.以下是小编搜集整理的一些Nginx 502错误的排查方法,供参考: Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起的.这些错误一般都不是nginx本身的问题,一定要从后端找原因!但nginx把这些出错都揽在自己身上了,着实让nginx的推广者备受置疑,毕竟从字眼上理解,bad gateway?不就是bad nginx吗?让不了解的人看到,会直接把责任推