Nginx 排查:配置文件与运行实例要对应

修改了配置却没有生效,首先需要确认:你编辑的文件,是否属于当前正在处理请求的那个 Nginx 实例。

1. 确认进程和启动入口

检查 master 进程的程序路径和启动参数。如果服务器上有多个安装目录,直接运行 PATH 中的 nginx 命令可能会检查另一套配置。

ps -eo pid,args | grep '[n]ginx: master'
systemctl cat nginx

2. 使用同一程序检查同一配置

使用进程对应的完整程序路径,并通过 -c 指定配置文件。-t 用来检查语法;-T 会展开配置和 include 引用,但不会显示运行进程内存里保存的旧配置。分享输出前注意去除敏感信息。

/path/to/nginx -t -c /path/to/nginx.conf
/path/to/nginx -T -c /path/to/nginx.conf

3. 加载之后,从端口到页面逐层验证

确认语法通过后重载正确的服务,再检查监听端口、TLS 握手、HTTP 状态码和页面内容。反向代理场景下,还应检查上游服务与数据库是否可连接。

ss -lntp
curl -I https://your-domain.example/

容器使用 host 网络时与宿主机共享端口;使用 bridge 网络时,还需要检查端口发布和反向代理目标是否一致。

留言交流

欢迎分享想法、提问或补充经验。登录后即可留言,留言经管理员审核后公开。

写留言

← 浏览技术文章