修改了配置却没有生效,首先需要确认:你编辑的文件,是否属于当前正在处理请求的那个 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 网络时,还需要检查端口发布和反向代理目标是否一致。
写留言
请先登录后留言。还没有账号?立即注册。