在阿里云ECS(弹性计算服务)上发布两个网站是完全可行的,常见的实现方式有以下几种,具体选择取决于你的需求、技术栈和服务器资源:
✅ 方法一:使用 Nginx/Apache 配置虚拟主机(推荐)
这是最常见的方式,通过反向或虚拟主机在同一台 ECS 上运行多个网站。
1. 准备工作
- 一台阿里云ECS实例(Linux系统,如 CentOS/Ubuntu)
- 安装 Web 服务器(Nginx 或 Apache)
- 两个域名(例如:
site1.com和site2.com),并解析到 ECS 的公网 IP - 安全组开放 80(HTTP)和 443(HTTPS)端口
2. 使用 Nginx 配置多站点示例
步骤:
- 安装 Nginx:
# Ubuntu/Debian sudo apt update && sudo apt install nginx -y
CentOS/RHEL
sudo yum install nginx -y
2. 创建两个网站目录:
```bash
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
-
写入测试页面:
echo "<h1>Welcome to Site 1</h1>" | sudo tee /var/www/site1.com/html/index.html echo "<h1>Welcome to Site 2</h1>" | sudo tee /var/www/site2.com/html/index.html -
创建 Nginx 虚拟主机配置文件:
/etc/nginx/sites-available/site1.com
server {
listen 80;
server_name site1.com www.site1.com;
location / {
root /var/www/site1.com/html;
index index.html;
try_files $uri $uri/ =404;
}
}
/etc/nginx/sites-available/site2.com
server {
listen 80;
server_name site2.com www.site2.com;
location / {
root /var/www/site2.com/html;
index index.html;
try_files $uri $uri/ =404;
}
}
-
启用站点(创建软链接):
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/ -
测试配置并重启 Nginx:
sudo nginx -t sudo systemctl restart nginx -
域名解析:
- 登录阿里云控制台,进入「云解析 DNS」
- 将
site1.com和site2.com的 A 记录指向 ECS 的公网 IP
✅ 完成!现在访问两个域名就会显示不同的网站。
✅ 方法二:不同端口运行两个服务(简单但不推荐用于生产)
你可以让两个网站分别监听不同端口,比如:
- 网站1:
http://your-ip:8080 - 网站2:
http://your-ip:8081
然后通过 Nginx 反向绑定域名,避免暴露端口。
示例:Node.js 应用分别监听 8080 和 8081,再用 Nginx 做。
✅ 方法三:使用 Docker 部署隔离网站
更高级的方式,使用 Docker 运行多个容器,每个容器一个网站,通过 Nginx 反向路由。
# docker-compose.yml 示例
version: '3'
services:
site1:
image: nginx
volumes:
- ./site1:/usr/share/nginx/html
expose:
- "80"
site2:
image: nginx
volumes:
- ./site2:/usr/share/nginx/html
expose:
- "80"
nginx-proxy:
image: nginx
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
✅ HTTPS 支持(可选)
使用 Let’s Encrypt 免费证书为两个网站启用 HTTPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com
Certbot 会自动修改 Nginx 配置并启用 HTTPS。
注意事项
- 安全组规则:确保阿里云安全组允许 80 和 443 端口入方向。
- 备案问题:如果你的 ECS 在我国大陆地域,域名必须完成 ICP 备案才能访问。
- 资源监控:确保 ECS 实例配置足够支持两个网站的流量。
- 日志管理:每个站点可以独立设置访问日志,便于排查问题。
总结
| 方式 | 优点 | 适用场景 |
|---|---|---|
| Nginx 虚拟主机 | 简单高效,节省资源 | 多个静态/动态网站共存 |
| 不同端口 | 快速部署 | 内部测试、开发环境 |
| Docker + Nginx | 高度隔离、易扩展 | 微服务、复杂应用 |
如果你提供更多信息(如:网站类型、是否需要数据库、是否用 PHP/Node.js 等),我可以给出更具体的部署方案。
云计算HECS