Nginx 常用配置速记:反向代理、静态托管与日志
一、反向代理:把请求转发给后端服务
Nginx 最常见的用法之一,是站在后端应用前面做反向代理。后端服务(如 Node.js、Python 应用)监听本机端口,用户请求先到 Nginx,再由 Nginx 转发过去:
location /api/ {
proxy_pass http://127.0.0.1:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
这里有个容易踩的坑:proxy_pass 末尾带斜杠时,Nginx 会剥离 /api/ 前缀再转发;不带斜杠则原路径透传。改完配置先执行 nginx -t 检查语法,再执行 nginx -s reload 平滑重载,避免直接重启造成访问中断。
二、静态托管:直接发布静态站点
纯静态页面不需要后端进程,root 指向站点目录即可:
server {
listen 80;
server_name _;
root /var/www/site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
try_files 按顺序查找文件,找不到就返回 404,比默认错误页更规范。静态资源较多的站点,还可以在 location 里加 expires 30d,让浏览器缓存图片、CSS 和 JS,减轻服务器压力。
三、日志:出问题先看这三条命令
Nginx 默认把访问日志写到 /var/log/nginx/access.log,错误日志写到 /var/log/nginx/error.log。日常排查常用:
tail -f /var/log/nginx/access.log
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
grep ' 500 ' /var/log/nginx/access.log
第一条实时跟踪访问记录;第二条统计来源 IP 排行,快速发现异常流量;第三条筛出返回 500 的请求,再结合 error.log 同一时间点的记录定位原因。也可以在 server 块里用 access_log 为不同站点指定独立的日志文件,后期分析更清晰。
小结:记住三句话——改配置先 nginx -t,生效用 reload 不用 restart,出问题先看 error.log。掌握反向代理、静态托管和日志这三块,日常部署基本够用了。
- 点赞
- 收藏
- 关注作者
评论(0)