Skip to content

Nginx - FAQ

Nginx 出现 500 错误, 并且错误下方存在nginx 版本号

首先考虑nginx 缓存位置的权限, 权限位置在 /var/lib/nginx 目录

Nginx 出现 413 Request Entity Too Large 错误

这个错误一般在上传文件的时候出现, 原因是请求包体过大

解决方法就是

打开 nginx 主配置文件 nginx.conf ,一般在 /usr/local/nginx/conf/nginx.conf 这个位置,找到 http{} , 或者 server{} 段, 或者 location / {} 段,修改或者添加:

client_max_body_size 20m;

如果以 php 运行的话,这个大小 client_max_body_size 要和 php.ini 中的如下值的最大值差不多或者稍大,这样就不会因为提交数据大小不一致出现错误

post_max_size = 20M
upload_max_filesize = 20M

重启 NGINX

nginx -s reload

恢复正常

Nginx 前后端混排时候给 url 添加后缀 /

警告

此处密钥信息请妥善留存, 请勿泄露

优化连接数

未优化之前的连接数 NotEstablished 的数量到达了一定的峰值, 然后处于持平状态, 在这个时候服务器日志会报 500 错误

这个地方考虑到的可能性是链接数过多导致的服务器

/etc/sysctl.conf

net.ipv4.tcp_max_tw_buckets = 8000

nginx.conf

...
worker_processes  32;
worker_rlimit_nofile 65535;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  10240;
}
...

优化之后的数据