Blog

  • 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 网络时,还需要检查端口发布和反向代理目标是否一致。

  • 一份好用的技术笔记,应该留下什么?

    技术笔记的价值,是让下一次遇到相同问题时,可以快速理解背景、复现过程并验证结果。比起只保存最后一行命令,留下推理的路径往往更有用。

    先记录现象和环境

    写清楚“想得到什么”和“实际发生了什么”。附上必要的软件版本、部署方式与错误信息。分享日志之前,移除密码、令牌和个人数据。

    把原因与证据放在一起

    区分已经确认的事实和仍在验证的假设。例如,服务进程存在不等于端口已监听;本地访问成功也不等于公网访问成功。每一个结论最好都能对应到一条可复查的证据。

    给出可执行的步骤与验证方法

    说明操作所在的环境、执行顺序与预期输出。配置修改应当先备份、检查语法,再加载。最后列出如何确认问题已经解决,以及需要恢复时使用哪份备份。

    用视频补充难以描述的操作

    涉及界面交互或连续操作时,一段短录屏可以补足文字。给视频配上步骤摘要和关键时间点,也方便读者在不播放完整视频的情况下找到答案。