Nginx常见错误与解决办法

  • 1、nginx.conf文件异常关闭,打开文件提示“.nginx.conf.swp”存在
  • 2、上传文件报413 Request Entity Too Large
  • 3、nginx 访问静态资源文件报403
  • 4、nginx日志报worker_connections are not enough错误
  • 注释:所有内容纯属记录以方便自己使用,侵权立删!!!!


#Nginx常见错误与解决办法

1、nginx.conf文件异常关闭,打开文件提示“.nginx.conf.swp”存在

原因:在用vim打开一个文件时,其会产生一个cmd.swap文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件
解决方法:
(1)用ls -a 命令查看conf文件夹下隐藏的文件;
(2)用删除命令rm -rf .nginx.conf.swp 删除即可

2、上传文件报413 Request Entity Too Large

原因:nginx默认的上传大小是1M
解决方法:修改client_max_body_size大小,修改位置在nginx配置文件nginx.conf中的location下面

```powershell
// 设置请求头大小,若超过所设大小,报413错误
client_max_body_size = o #不限制大小
# 拓展记录如下
// 读取请求头的超时时间,若超过所设定的大小,返回408错误
client_header_timeout
// 读取请求实体的超时时间,若超过所设定的大小,返回413错误
client_body_timeout
// http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒
proxy_connect_timeout
// http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒
proxy_read_timeout
// http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒
proxy_send_timeout

3、nginx 访问静态资源文件报403

原因有可能是权限的问题。cd 切换到资源所在目录,执行如下命令

// 权限分为三种:读(r=4),写(w=2),执行(x=1)
// 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)
chmod -R 755   // 赋予权限
# 755权限解释:Ⅰ.文件所有者可读可写可执行 --7;Ⅱ.与文件所有者同属一个用户组的其他用户可读可执行 --5;Ⅲ.其它用户组可读可执行

4、nginx日志报worker_connections are not enough错误

原因:worker_connections实际连接数大于设置的并发连接数限制;

解决:增大worker_connections值,但是不能超过用户级打开文件的最大数量限制。

注释:所有内容纯属记录以方便自己使用,侵权立删!!!!