温馨提示×

linux nginx怎么配置

小樊
49
2026-09-26 04:49:15
栏目: 智能运维

下面给你一个从零开始的 Linux + Nginx 配置实用指南,覆盖最常见场景。你可以按需取用。


一、安装 Nginx

CentOS / Rocky / Alma

sudo yum install -y epel-release
sudo yum install -y nginx

Ubuntu / Debian

sudo apt update
sudo apt install -y nginx

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

二、Nginx 配置文件结构

/etc/nginx/
├── nginx.conf            # 主配置
├── conf.d/               # 推荐放子配置
└── sites-enabled/        # Ubuntu 常用

编辑主配置(一般不用动):

sudo vim /etc/nginx/nginx.conf

三、最基础的静态网站配置

1️⃣ 新建站点目录

sudo mkdir -p /var/www/example
sudo echo "Hello Nginx" > /var/www/example/index.html

2️⃣ 新建配置文件

sudo vim /etc/nginx/conf.d/example.conf

内容:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example;
    index index.html;

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

3️⃣ 测试并重载

sudo nginx -t
sudo systemctl reload nginx

四、反向代理(最常见)

server {
    listen 80;
    server_name api.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

五、HTTPS(SSL)配置(推荐)

使用 Let’s Encrypt

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

自动生成类似:

listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

六、常用优化项

gzip on;
gzip_types text/css application/javascript;

client_max_body_size 20m;

七、常见命令

nginx -t                # 检查配置
systemctl reload nginx # 热加载
systemctl restart nginx

八、常见错误

  • ❌ 403 Forbidden → 目录权限问题
  • ❌ 502 Bad Gateway → 后端服务没起
  • ❌ 端口被占 → nginx: [emerg] bind() to 0.0.0.0:80 failed

如果你能告诉我:

  • ✅ 用的系统(Ubuntu / CentOS)
  • ✅ 用途(静态站 / 反向代理 / 负载均衡 / HTTPS)
  • ✅ 是否用 Docker

我可以直接给你一份可直接用的完整配置。

0 踩