Nginx常见错误及处理方法

404 bad request

一般原因:请求的Header过大

解决方法:配置nginx.conf相关设置

  1. client_header_buffer_size 16k;
  2. large_client_header_buffers 4 64k;

413 Request Entity Too Large

一般原因:一般出现在上传文件

解决方法:配置nginx.conf相关设置

  1. client_max_body_size 10m;

配置php.ini如下(必须和nginx.conf配置一致)

  1. post_max_size=10M
  2. upload_max_filesize=2M

499 Client Closed Request

一般原因:客户端在为等到服务器相应返回前就关闭了客户端描述符。一般出现在客户端设置超时后,主动关闭socket.

解决方法:根据实际Nginx后端服务器的处理时间修改客户端超时时间。

500 Internal Server Rrror

一般原因:脚本错误,(php语法错误、lua语法错误)

访问量过大,系统资源限制,不能打开过多文件

磁盘空间不足。(access log开启可能导致磁盘满溢 关闭)

解决方法:语法错误查看nginx_err_log php_err_log。

文件访问量:

1.修改nginx配置文件

  1. worker_rlimit_nofile 65535;

2.修改/etc/security/limits.conf

  1. * soft nofile 65535
  2. * hard nofile 65535

502 Bad Gateway、503 Serveice Unavailable

一般原因:后端服务无法处理,业务中断。

解决方法:从后端日志获取错误原因,解决后端服务器问题。

504 Gateway Timeout

一般原因:后端服务器在超时时间内,未响应Nginx代理请求

解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。

  1. proxy_read_timeout 90;
  2. proxy_send_timeout 90;

一般原因:可能网站页面缓存大,而fastcgi默认进程响应缓存区8k

解决方法:配置nginx.conf相关设置

  1. fastcgi_buffers 8 128k
  1. send_timeout 60;

参考 https://www.cnblogs.com/liyongsan/p/6795851.html