Nginx 使用注意事项大全(建议收藏!)
本文总结了我在使用 Nginx 过程中的常见坑点与注意事项,适合初学者和日常运维人员收藏备用,避免“部署 Nginx 三分钟,排错一整天”的尴尬局面!
✨ 一、配置修改后,记得 reload + 检查语法
Nginx 修改配置文件后,必须执行 reload 才能生效。推荐操作顺序如下:
nginx -t # ✅ 检查配置是否有语法错误
nginx -s reload # 🔁 平滑加载配置,不中断服务
不要直接修改完就重启,有误配置可能导致服务中断!
🌐 二、server_name 要与访问地址匹配
server_name 是用于域名匹配的,如果你写的是:
server_name example.com;
但访问的是 http://localhost 或 IP,可能会导致匹配不到,Nginx 使用默认 server 块返回 404。
建议写多个匹配项:
server_name localhost 127.0.0.1 example.com www.example.com;
🧭 三、location 匹配顺序要搞懂!
Nginx 匹配 location 的顺序:
类型 | 示例 | 匹配规则 |
---|---|---|
精确匹配 | location = /path | 完全匹配 |
字符串匹配 | location /static/ | 前缀匹配 |
正则匹配 | location ~ .php$ | 正则表达式(区分大小写) |
优先级 | = > ^~ > ~ / ~* > / | 按优先级顺序选一个块执行 |
root:拼接 URI
location /images/ {
root /data/web;
# 访问 /images/a.jpg → /data/web/images/a.jpg
}
alias:替换 URI
location /images/ {
alias /data/web/images/;
# 访问 /images/a.jpg → /data/web/images/a.jpg
}
重点区别:alias 会完全替换路径,注意结尾 / 的使用!
🔁 五、代理转发时注意路径尾斜杠
location /api/ {
proxy_pass http://localhost:8080/;
}
⚠️ 如果 proxy_pass 后面少了 /,会导致路径拼接错误。
建议后端和前端都统一路径结构,比如都使用 /api/ 开头。
🔒 六、配置 HTTPS 时,证书路径 & 权限要对
示例:
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
路径必须正确,证书权限建议设置为 600
使用 Let’s Encrypt 的同学注意证书过期自动续签
📈 七、开启访问日志便于问题排查
默认日志:
/var/log/nginx/access.log
/var/log/nginx/error.log
也可为某些静态路径关闭日志,提升性能:
location ~* \.(js|css|png|jpg)$ {
access_log off;
expires 7d;
}
🔁 八、区别 reload 和 restart
命令 含义
nginx -s reload 热加载配置,不中断连接 ✅
systemctl restart nginx 直接重启,有中断风险 ⚠️
建议使用 reload,尤其是线上环境!
🧠 九、配置文件要定期备份!
建议每次改动前复制一份配置文件,或者加入 Git 管控:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
多人协作项目更建议使用 Git 来托管配置文件!
📌 十、其他小贴士
expires 控制缓存,配合版本号避免缓存死链
502 错误大概率是后端地址/端口配置错误
启动失败时看 error.log 是排查第一步
多个 server 匹配失败会进入默认配置块
✅ 总结
Nginx 功能虽强,但配置细节很多。记住这份注意事项清单,可以让你部署更高效、排错更快速、上线更稳定!
如果你觉得这篇文章有帮助,别忘了点赞 + 收藏 + 关注哦!