Nginx 常用配置速记:反向代理、负载均衡与静态站点

举报
yd_241044277 发表于 2026/10/26 09:07:18 2026/10/26
【摘要】 Nginx 常用配置速记:反向代理、负载均衡与静态站点Nginx 常用来做反向代理和静态服务器,配置改动后先测语法再重载,避免把线上服务改挂。 一、基础命令nginx -t # 测试配置文件语法nginx -s reload # 平滑重载配置,不中断已有连接systemctl status nginxtail -f /var/log/nginx/error.logng...

Nginx 常用配置速记:反向代理、负载均衡与静态站点

Nginx 常用来做反向代理和静态服务器,配置改动后先测语法再重载,避免把线上服务改挂。

一、基础命令

nginx -t          # 测试配置文件语法
nginx -s reload   # 平滑重载配置,不中断已有连接
systemctl status nginx
tail -f /var/log/nginx/error.log

nginx -t 通过后再 reload;如果报错,先看 error.log 最后一行,通常是端口占用或括号不匹配。

二、静态站点

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

静态资源可以加缓存头,减少重复请求:

location ~* \.(css|js|png|jpg)$ {
    expires 7d;
    add_header Cache-Control "public";
}

三、反向代理

把请求转发给本机跑着的应用,比如 3000 端口的 Node 服务:

location / {
    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;
}

转发头很重要:不传 X-Real-IP,后端日志里看到的就全是 127.0.0.1,排障时分不清真实来源。

四、负载均衡

upstream app {
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
}

server {
    listen 80;
    location / {
        proxy_pass http://app;
    }
}

默认是轮询;一台机器挂了,Nginx 会自动跳过它。调权重可以在某台后面加 weight=2,让性能好的机器多分流量。

五、排障小结

  • 502:后端没起来或端口不对,先 curl 127.0.0.1:3000 直连后端验证。
  • 403:多半是目录权限,检查 root 路径和文件属主。
  • 改完配置没生效:确认 reload 成功,且没有多个 server 块抢同一个 server_name。

记住顺序:改配置、测语法、看日志、再重载,线上 Nginx 就很少出大问题。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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