多站点虚拟主机配置

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:独立日志文件

二、多个站点配置示例

server {
    listen 80;
    server_name site2.example.com;
    root /var/www/site2;
    index index.html;
}
  • 每个 server 块可配置不同的根目录、日志和端口
  • 可根据域名或 IP 区分不同站点

三、HTTPS 支持

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 可以高效管理多个网站,实现独立访问控制、日志管理和性能优化。