SorryToPerson logo
返回
Nginx2026-04-15·8 分钟

Nginx 多主机与虚拟主机管理

介绍 Nginx 多域名、多站点虚拟主机配置和常见管理策略。

Nginx 多主机与虚拟主机管理

1. 多站点基本配置

nginx
server {
  listen 80;
  server_name example.com;
  root /var/www/example.com;
}

server {
  listen 80;
  server_name example.org;
  root /var/www/example.org;
}
  • 通过 server_name 区分不同域名。
  • 每个站点可独立配置 root、日志和代理。

2. 默认 Server

nginx
server {
  listen 80 default_server;
  server_name _;
  return 444;
}
  • 默认 server 用于捕获未匹配域名。
  • 可用于安全隔离或跳转。

3. 通配域名配置

nginx
server {
  listen 80;
  server_name *.example.com;
}
  • 通配符域名适用于子域名统一配置。
  • 注意不要与具体 server_name 冲突。

4. HTTPS 多站点

  • 可以在同一个 server 块中配置多个域名。
nginx
server {
  listen 443 ssl;
  server_name example.com www.example.com;
  ssl_certificate /etc/nginx/ssl/fullchain.pem;
  ssl_certificate_key /etc/nginx/ssl/privkey.pem;
}

5. 配置拆分与维护

  • 使用 include /etc/nginx/conf.d/*.conf;sites-enabled 将每个站点拆分成独立配置文件。
  • 便于运维和版本控制。

6. 日志分离

  • 为不同站点配置独立 access_logerror_log
  • 便于统计和排查问题。

7. 统一重定向与跳转

  • 可设置一个站点统一重定向到 HTTPS 或主域名。
nginx
return 301 https://example.com$request_uri;

8. 常见管理策略

  • 通过模板或脚本批量生成站点配置。
  • 在测试环境验证配置后再部署到生产。
  • 使用 nginx -t 校验每次修改。
Nginx虚拟主机多站点