Nginx 日志中常见的错误包括以下几类:
-
4xx 错误:
- 400 Bad Request:请求不正确,通常是由于请求语法错误导致的。
- 403 Forbidden:服务器理解请求,但拒绝执行。可能是权限问题。
- 404 Not Found:请求的资源不存在。
-
5xx 错误:
- 500 Internal Server Error:服务器内部错误,通常是服务器代码问题。
- 502 Bad Gateway:作为网关或代理的服务器从上游服务器收到了无效响应。
- 503 Service Unavailable:服务器暂时无法处理请求,通常是由于过载或维护。
-
与负载均衡相关的错误:
- no live upstreams while connecting to upstream:表示 Nginx 发现没有存活的 backend 后端。
- upstream prematurely closed connection while reading response header from upstream:表示上游服务器在读取响应头时提前关闭了连接。
-
配置错误:
- 监听端口错误:如
server { listen 8080; server_name example.com; }
中监听端口不正确或未指定。
- 服务名配置错误:如
server { listen 80; server_name example.com www.example.com; }
中服务名拼写错误或未包含所有域名。
- 路径配置错误:如
location / { root /var/www/html; }
中路径不正确或权限不足。
- 重定向配置错误:如
location /old { rewrite ^/old/(.*)$ /new/$1 permanent; }
中重定向规则不正确。
- 缓存配置错误:如
location ~* \.(jpg|jpeg|png|gif|ico)$ { expires 30d; }
中缓存时间设置不合理。
-
权限问题:
- Permission Denied:通常是由于文件或目录权限设置不当引起的。例如,Nginx 没有足够的权限访问某些文件或目录。
-
端口冲突:
- 多个服务尝试监听同一个端口,导致其中一个服务无法正常启动。
-
反向代理配置错误:
通过分析 Nginx 错误日志,管理员可以深入了解配置错误、请求失败、服务器中断和影响服务器功能的其他错误等问题。这些日志对于诊断问题、实施纠正措施和确保 Web 服务器的平稳运行非常宝贵。