下面给你一个从零开始的 Linux + Nginx 配置实用指南,覆盖最常见场景。你可以按需取用。
sudo yum install -y epel-release
sudo yum install -y nginx
sudo apt update
sudo apt install -y nginx
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
/etc/nginx/
├── nginx.conf # 主配置
├── conf.d/ # 推荐放子配置
└── sites-enabled/ # Ubuntu 常用
编辑主配置(一般不用动):
sudo vim /etc/nginx/nginx.conf
sudo mkdir -p /var/www/example
sudo echo "Hello Nginx" > /var/www/example/index.html
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;
}
}
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;
}
}
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如果你能告诉我:
我可以直接给你一份可直接用的完整配置。