Nginx部署多个网站

Nginx 部署多个网站时的目录结构、配置文件路径,以及网站内容的存放位置。通过树形结构图来更清晰理解。


🌐 假设我们部署两个网站:

  • 域名1:site1.com,网站文件在 /var/www/site1.com

  • 域名2:site2.com,网站文件在 /var/www/site2.com

  • 使用系统:Ubuntu / Debian(使用 sites-availablesites-enabled


📁 一、完整目录树结构图

/etc/nginx/
├── nginx.conf                    # Nginx 主配置文件
├── sites-available/             # 可用网站配置目录(我们在这里写配置)
│   ├── site1.com                # site1.com 的配置文件
│   └── site2.com                # site2.com 的配置文件
├── sites-enabled/               # 启用中的网站配置(软链接)
│   ├── site1.com -> ../sites-available/site1.com
│   └── site2.com -> ../sites-available/site2.com
└── conf.d/                      # 可选配置(CentOS 用得多)
/var/www/                        # 网站根目录
├── site1.com/
│   └── index.html               # site1.com 的首页文件
└── site2.com/
    └── index.html               # site2.com 的首页文件

📝 二、配置文件内容示例

/etc/nginx/sites-available/site1.com

server {
    listen 80;
    server_name site1.com www.site1.com;

    root /var/www/site1.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

/etc/nginx/sites-available/site2.com

server {
    listen 80;
    server_name site2.com www.site2.com;

    root /var/www/site2.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

🔗 三、启用配置(软链接)

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/site1.com
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/site2.com

🌍 四、网站首页文件内容示例

/var/www/site1.com/index.html

<!DOCTYPE html>
<html>
<head><title>Site 1</title></head>
<body><h1>Welcome to site1.com!</h1></body>
</html>

/var/www/site2.com/index.html

<!DOCTYPE html>
<html>
<head><title>Site 2</title></head>
<body><h1>Welcome to site2.com!</h1></body>
</html>

✅ 五、检查与重载 Nginx

sudo nginx -t           # 检查配置是否正确
sudo systemctl reload nginx

📌 六、浏览器访问效果

访问地址 显示内容
http://site1.com Welcome to site1.com!
http://site2.com Welcome to site2.com!

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享