Nginx 从 0 到 1 配置指南(新手入门)

这是一篇给新手的实战入门:从安装、基本配置,到反向代理、HTTPS 和常见报错排查,尽量做到“复制就能用”。

1. Nginx 是什么?

Nginx(读作 Engine-X)是一个高性能 Web 服务器,也常用作反向代理、负载均衡器。

你可以把它理解成:

  • 门卫:接收用户请求
  • 分发员:把请求转给后端应用(如 Node.js / Python / Java)
  • 加速器:处理静态资源、缓存和压缩

2. 安装 Nginx

Ubuntu / Debian

sudo apt update
sudo apt install -y nginx

CentOS / Rocky / AlmaLinux

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

启动并设为开机自启

sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

看到 active (running) 就代表启动成功。

3. 配置文件结构

常见路径:

  • 主配置:/etc/nginx/nginx.conf
  • Ubuntu 站点配置:/etc/nginx/sites-available/sites-enabled/
  • CentOS 站点配置:/etc/nginx/conf.d/*.conf

每次改完配置都要做两步:

sudo nginx -t
sudo systemctl reload nginx

4. 最小可用:静态网站

站点配置示例:

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

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

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

准备页面:

sudo mkdir -p /var/www/example
echo '<h1>Hello Nginx</h1>' | sudo tee /var/www/example/index.html

启用并重载:

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

5. 反向代理到后端服务

假设后端跑在 127.0.0.1:3000

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

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;

        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_set_header X-Forwarded-Proto $scheme;
    }
}

6. 开启 HTTPS(Let’s Encrypt)

安装 certbot:

sudo apt install -y certbot python3-certbot-nginx
# 或
sudo yum install -y certbot python3-certbot-nginx

申请证书:

sudo certbot --nginx -d example.com -d www.example.com

测试自动续期:

sudo certbot renew --dry-run

7. 常用优化(新手够用版)

nginx.confhttp {} 可加:

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

8. 常见报错与排查

  1. 配置错误:先 nginx -t 看行号。
  2. 403 Forbidden:多半是目录权限或 root 路径错误。
  3. 502 Bad Gateway:后端没启动 / 端口不对 / 防火墙拦截。
  4. 配置不生效:忘记 reload

日志常见位置:

  • /var/log/nginx/access.log
  • /var/log/nginx/error.log

9. 新手推荐流程

每次按这 5 步:
1) 改配置 2) nginx -t 3) reload 4) 浏览器验证 5) 看日志。

10. 总结

先掌握三件事就够了:

  • 会配静态站点
  • 会配反向代理
  • 会排错(nginx -t + 日志)

做到这一步,你已经有独立上线小项目的能力了。后续再学负载均衡、缓存策略、安全头等高级能力。

最后修改:2026 年 05 月 15 日
如果觉得我的文章对你有用,请随意赞赏