Nginx 常用配置速记:反向代理、静态托管与日志

举报
yd_270610013 发表于 2026/10/22 12:09:17 2026/10/22
【摘要】 Nginx 日常部署速记:反向代理里 proxy_pass 的斜杠坑、静态站点的托管写法,以及用 access.log 三条命令快速定位问题。

一、反向代理:把请求转发给后端服务

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。掌握反向代理、静态托管和日志这三块,日常部署基本够用了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。