在阿里云 ECS(弹性计算服务)上部署两个网站,通常可以通过以下几种方式实现,具体取决于你使用的 Web 服务器类型(如 Nginx、Apache)以及这两个网站是否使用 不同的域名或端口。
下面以常见的场景为例,介绍如何在一台 ECS 实例上部署两个网站:
✅ 前提条件
- ECS 实例已创建并运行 Linux 系统(如 CentOS、Ubuntu)
- 已安装 Web 服务(如 Nginx 或 Apache)
- 每个网站都有自己的代码目录
- 每个网站有独立的域名(可选),或使用不同端口访问
🧩 方法一:通过不同域名 + 虚拟主机配置(推荐)
适用场景:
- 两个网站分别绑定不同的域名(例如:
site1.com和site2.com) - 使用同一个公网 IP 地址和 80/443 端口
步骤如下:
1. 准备网站文件
假设你的两个网站文件分别位于:
/var/www/site1
/var/www/site2
2. 配置 Nginx 虚拟主机(以 Nginx 为例)
编辑 Nginx 配置文件:
sudo nano /etc/nginx/conf.d/site1.conf
写入:
server {
listen 80;
server_name site1.com www.site1.com;
location / {
root /var/www/site1;
index index.html index.php;
try_files $uri $uri/ =404;
}
}
再创建第二个站点配置:
sudo nano /etc/nginx/conf.d/site2.conf
写入:
server {
listen 80;
server_name site2.com www.site2.com;
location / {
root /var/www/site2;
index index.html index.php;
try_files $uri $uri/ =404;
}
}
3. 测试并重启 Nginx
sudo nginx -t
sudo systemctl reload nginx
4. DNS 解析设置
确保你的两个域名都解析到该 ECS 的公网 IP 地址。
🧩 方法二:通过不同端口访问
适用场景:
- 没有两个域名,只想测试或内网访问
- 使用同一域名但不同端口访问两个网站
步骤如下:
1. 修改 Nginx 配置文件
sudo nano /etc/nginx/conf.d/site1.conf
server {
listen 80;
server_name localhost;
location /site1/ {
alias /var/www/site1/;
index index.html;
}
}
另一个网站用不同端口:
sudo nano /etc/nginx/conf.d/site2.conf
server {
listen 8080;
server_name localhost;
location / {
root /var/www/site2;
index index.html;
}
}
2. 开放防火墙端口(如适用)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
3. 访问方式:
- 网站1:
http://<ECS_IP>/site1/ - 网站2:
http://<ECS_IP>:8080/
🧩 方法三:使用 Docker 部署多个网站容器(进阶)
如果你熟悉 Docker,也可以为每个网站启动一个容器,使用不同的端口或虚拟主机名映射。这可以更好地隔离环境。
🔐 安全组配置
无论哪种方法,都需要在阿里云控制台中开放对应端口(如 80、443、8080):
- 登录 阿里云控制台
- 找到你的 ECS 实例 → 安全组 → 编辑入方向规则
- 添加允许 HTTP/HTTPS 或自定义 TCP 端口的规则
📌 小结
| 方法 | 是否需要域名 | 是否需修改端口 | 是否推荐 |
|---|---|---|---|
| 不同域名 + 虚拟主机 | 是 | 否 | ✅ 推荐 |
| 相同域名 + 不同路径 | 否 | 否 | ⚠️ 可行但不灵活 |
| 相同域名 + 不同端口 | 否 | 是 | ⚠️ 适合测试 |
| 使用 Docker 多容器 | 是/否均可 | 灵活 | ✅ 进阶推荐 |
如果你告诉我你使用的操作系统、Web 服务器类型、是否有域名等信息,我可以给你更具体的配置示例。
是否需要我帮你生成完整的 Nginx/Apache 配置?
云计算导航