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 nginxCentOS / 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 nginx4. 最小可用:静态网站
站点配置示例:
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 nginx5. 反向代理到后端服务
假设后端跑在 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-run7. 常用优化(新手够用版)
在 nginx.conf 的 http {} 可加:
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. 常见报错与排查
- 配置错误:先
nginx -t看行号。 - 403 Forbidden:多半是目录权限或
root路径错误。 - 502 Bad Gateway:后端没启动 / 端口不对 / 防火墙拦截。
- 配置不生效:忘记
reload。
日志常见位置:
/var/log/nginx/access.log/var/log/nginx/error.log
9. 新手推荐流程
每次按这 5 步:
1) 改配置 2) nginx -t 3) reload 4) 浏览器验证 5) 看日志。
10. 总结
先掌握三件事就够了:
- 会配静态站点
- 会配反向代理
- 会排错(
nginx -t+ 日志)
做到这一步,你已经有独立上线小项目的能力了。后续再学负载均衡、缓存策略、安全头等高级能力。