# 多站点虚拟主机配置

URL: https://caijiao.org/nginx/virtual-hosts
Source: docs/nginx/virtual-hosts.md
Description: 本节介绍 Nginx 多站点虚拟主机配置方法，包括 server 块设置、域名绑定、独立日志、SSL 配置及最佳实践，实现高效站点管理。

Nginx 支持在同一台服务器上部署多个网站，通过虚拟主机实现独立管理和访问。

## 一、基本配置

```nginx
server {
    listen 80;
    server_name site1.example.com;

    root /var/www/site1;
    index index.html index.php;

    access_log /var/log/nginx/site1_access.log;
    error_log /var/log/nginx/site1_error.log;
}
````

* **server_name**：绑定域名
* **root**：网站根目录
* **access_log / error_log**：独立日志文件

## 二、多个站点配置示例

```nginx
server {
    listen 80;
    server_name site2.example.com;
    root /var/www/site2;
    index index.html;
}
```

* 每个 server 块可配置不同的根目录、日志和端口
* 可根据域名或 IP 区分不同站点

## 三、HTTPS 支持

```nginx
server {
    listen 443 ssl;
    server_name site1.example.com;

    ssl_certificate /etc/nginx/ssl/site1.crt;
    ssl_certificate_key /etc/nginx/ssl/site1.key;

    root /var/www/site1;
}
```

* 每个站点可独立配置 SSL 证书
* 配合 HTTP 301 跳转强制 HTTPS

## 四、优化与管理建议

1. 使用 `include` 指令，将每个站点配置拆分成独立文件，便于维护
2. 设置独立日志，便于分析和调试
3. 合理规划端口与域名，避免冲突
4. 对高并发站点启用缓存和 Gzip，提高性能

---

通过配置多站点虚拟主机，Nginx 可以高效管理多个网站，实现独立访问控制、日志管理和性能优化。
