温馨提示×

debian nginx怎样配置

小樊
45
2026-09-06 15:41:58
栏目: 智能运维

下面按从零开始的思路,给你一份在 Debian 上配置 Nginx 的实用指南,涵盖安装、基础配置、虚拟主机、HTTPS(可选)和常见问题。


一、安装 Nginx(Debian)

sudo apt update
sudo apt install nginx -y

安装完成后:

sudo systemctl status nginx

如果看到 active (running) 说明启动成功。

默认网页目录:

/var/www/html

二、Nginx 主要目录结构

/etc/nginx/
├── nginx.conf          # 主配置文件
├── sites-available/    # 可用站点配置
├── sites-enabled/      # 启用的站点(软链接)
├── conf.d/             # 额外配置

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

1️⃣ 创建网站目录

sudo mkdir -p /var/www/example.com/html
sudo chown -R www-data:www-data /var/www/example.com

2️⃣ 创建配置文件

sudo nano /etc/nginx/sites-available/example.com

内容示例:

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

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

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

3️⃣ 启用站点

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

4️⃣ 测试并重启

sudo nginx -t
sudo systemctl reload nginx

四、反向代理(常见用法)

比如把请求转发给 localhost:3000(Node / Java / Python):

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

    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;
    }
}

五、配置 HTTPS(推荐)

使用 Let’s Encrypt(免费)

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

自动:

  • 申请证书
  • 修改 Nginx
  • 配置 80 → 443 跳转

续期测试:

sudo certbot renew --dry-run

六、常用优化(基础)

1️⃣ 开启 Gzip

nginx.confconf.d 中:

gzip on;
gzip_types text/plain text/css application/json application/javascript;

2️⃣ 隐藏版本号(安全)

server_tokens off;

七、常见问题

❌ 403 Forbidden

  • 目录权限不对
  • index 文件不存在

❌ 502 Bad Gateway

  • 后端服务没启动
  • proxy_pass 地址错误

❌ 配置不生效

sudo nginx -t
sudo systemctl reload nginx

八、你接下来可以告诉我:

  • ✅ 是 静态网站 / 反向代理 / WordPress / API
  • ✅ Debian 版本(11 / 12)
  • ✅ 是否要用 HTTPS
  • ✅ 是否多域名

我可以直接帮你写一份完整可用的 nginx 配置

0