Debian Nginx日志中常见的错误有哪些
导读:Debian 上 Nginx 错误日志常见条目与处理要点 一 日志位置与基础信息 日志默认目录:/var/log/nginx/,包含 access.log 与 error.log。错误日志通过 error_log 指令定义路径与级别;级别...
Debian 上 Nginx 错误日志常见条目与处理要点
一 日志位置与基础信息
- 日志默认目录:/var/log/nginx/,包含 access.log 与 error.log。错误日志通过 error_log 指令定义路径与级别;级别从低到高为 debug、info、notice、warn、error、crit、alert、emerg,默认记录 error 及以上。修改配置后先执行 nginx -t 校验,再执行 systemctl reload nginx 生效。必要时可把错误日志发送到 syslog 或关闭(写入 /dev/null)。
二 常见错误模式与典型日志关键词
| 错误类型 | 典型日志关键词 | 常见成因 | 快速处置 |
|---|---|---|---|
| 启动失败端口占用 | bind() to 0.0.0.0:80 failed (98: Address already in use);或 IPv6 双监听冲突 | 已有进程占用 80/443;IPv4 与 IPv6 监听重复 | 查占用:ss -ltnp |
| 配置语法错误 | [emerg] unexpected “} ”;[emerg] “root” directive is duplicate | 缺少分号、花括号不匹配、指令重复 | 修正语法后 nginx -t 再 reload |
| 权限拒绝 | Permission denied while reading upstream;open() “/var/www/…” failed (13: Permission denied) | 文件/目录属主或权限不当;父目录不可执行 | chown -R www-data:www-data;chmod 755 目录、644 文件;检查 AppArmor/SELinux |
| 上游连接失败 | connect() failed (111: Connection refused);upstream timed out (110: Connection timed out) | 上游(如 PHP-FPM/Node)未启动、端口不对、防火墙阻断 | systemctl status php-fpm;ss -ltnp |
| 502/503/504 网关类 | 502 Bad Gateway;503 Service Unavailable;upstream timed out | 上游崩溃/过载、超时过短、进程池满 | 调整 proxy_connect_timeout / proxy_read_timeout;扩容上游;查上游日志 |
| 请求体过大 | client intended to send too large body | client_max_body_size 过小 | 增大 client_max_body_size(如 20M/50M)并 reload |
| 反向代理路径错误 | 刷新后 404;proxy_pass 路径拼接异常 | SPA history 模式未用 try_files;proxy_pass 结尾斜杠不一致 | SPA:try_files $uri /index.html;proxy_pass 目标地址与结尾斜杠配对 |
| 磁盘空间耗尽 | 写入日志或临时文件失败、偶发 500 | 磁盘满、inode 耗尽 | df -h、df -i;清理日志/缓存,扩容磁盘 |
| 内部重定向循环 | rewrite or internal redirection cycle | location/rewrite 规则互相跳转 | 增加 break/last;修正目标与条件逻辑 |
| PID 文件丢失 | open() “/run/nginx.pid” failed (2: No such file or directory) | 目录不存在或权限问题 | 确认 /run/nginx 存在并可写;必要时 systemctl restart nginx 重建 |
三 快速排查步骤清单
- 定位错误与级别:tail -f /var/log/nginx/error.log,优先关注 error/warn/crit 行与时间戳。
- 校验配置与语法:执行 nginx -t,确认包含 /etc/nginx/nginx.conf 与 /etc/nginx/sites-enabled/ 下配置;通过后 systemctl reload nginx。
- 区分客户端/服务端:访问日志(access.log)看状态码与 UA;错误日志看模块与文件/行号线索。
- 资源与依赖检查:df -h(磁盘)、free -m(内存)、ss -ltnp(端口/进程)、systemctl status php-fpm/node(上游存活)。
- 权限与安全模块:核对 /var/www 与 /var/log/nginx 属主为 www-data;必要时检查 AppArmor/SELinux 拒绝日志。
- 针对性修复并重载:如调整 client_max_body_size、proxy_read_timeout;修复脚本/模板错误;完成后 reload 并持续 tail 观察。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Nginx日志中常见的错误有哪些
本文地址: https://pptw.com/jishu/761912.html
