Nginx 常用配置笔记

举报
yd_299246485 发表于 2026/10/23 07:56:57 2026/10/23
【摘要】 记录 Nginx 日常高频配置:基础全局配置、反向代理、静态资源缓存、Gzip 压缩、HTTPS 跳转,以及配置检查与重载命令,形成可直接复用的配置笔记。

前言

Nginx 是高性能的 Web 服务器与反向代理软件,日常部署静态站点和网关时经常需要调整其配置。本文记录几个最常用的配置片段,方便随时查阅。

1. 基础全局配置

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
    use epoll;
}

2. 反向代理配置

最常见的场景是把请求转发到后端应用:

upstream backend {
    server 127.0.0.1:8080 weight=2;
    server 127.0.0.1:8081 backup;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend;
        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_connect_timeout 5s;
        proxy_read_timeout 60s;
    }
}

注意:转发真实客户端 IP 必须设置 X-Real-IP 和 X-Forwarded-For 头,否则后端只能拿到 Nginx 的内网地址。

3. 静态资源缓存

location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
    root /data/www;
    expires 30d;
    add_header Cache-Control "public";
    access_log off;
}

4. Gzip 压缩

gzip on;
gzip_min_length 1k;
gzip_types text/css text/javascript application/json application/javascript;
gzip_comp_level 6;
gzip_vary on;

gzip_comp_level 一般取 4~6,太高会浪费 CPU,收益却有限。

5. HTTPS 与 HTTP 跳转

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/cert.pem;
    ssl_certificate_key /etc/nginx/cert.key;

    location / {
        root /data/www;
    }
}

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

6. 配置检查与重载

nginx -t
nginx -s reload
nginx -s stop

修改配置后务必先执行 nginx -t 验证语法,再重载,避免因配置错误导致服务中断。

小结

掌握反向代理、静态缓存、Gzip、HTTPS 这几类配置,就能应对绝大多数日常场景。建议把验证过的配置模板保存下来,新项目直接复用。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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