Nginx 常用配置速记:反向代理、负载均衡与静态站点
【摘要】 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)