在阿里云弹性应用服务器(Elastic Compute Service, ECS)上部署多个网站,可以通过以下几种常见方式实现:
✅ 一、前提准备
- ECS 实例已创建并运行
- 已安装 Web 服务器软件(如 Nginx、Apache 或 IIS)
- 域名已备案并通过 DNS 解析到该 ECS 的公网 IP
- 防火墙/安全组规则开放了 HTTP(80)、HTTPS(443) 等端口
✅ 二、部署多个网站的常用方法
方法一:使用 Nginx/Apache 虚拟主机配置
1. 安装 Nginx(以 CentOS 为例)
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置虚拟主机(基于域名)
进入站点配置目录(通常为 /etc/nginx/conf.d/),创建两个 .conf 文件:
示例一:site1.conf
server {
listen 80;
server_name www.site1.com;
location / {
root /var/www/site1;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
示例二:site2.conf
server {
listen 80;
server_name www.site2.com;
location / {
root /var/www/site2;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
3. 创建网站文件目录
mkdir -p /var/www/site1
mkdir -p /var/www/site2
echo "This is site1" > /var/www/site1/index.html
echo "This is site2" > /var/www/site2/index.html
4. 检查并重启 Nginx
sudo nginx -t
sudo systemctl reload nginx
5. 域名解析
将 www.site1.com 和 www.site2.com 解析到你的 ECS 公网 IP。
方法二:使用不同端口访问多个网站
如果你只有一个域名或想通过不同端口区分网站,可以如下操作:
server {
listen 8080;
server_name localhost;
location / {
root /var/www/site1;
index index.html;
}
}
server {
listen 8081;
server_name localhost;
location / {
root /var/www/site2;
index index.html;
}
}
然后通过:
http://your-ecs-ip:8080http://your-ecs-ip:8081
访问不同网站。
⚠️ 注意:需要在阿里云安全组中放行这些端口(如 8080、8081)
方法三:使用反向X_X + 多个后端服务(适合复杂项目)
比如你有多个 Node.js、Python 应用运行在不同端口,可以用 Nginx 做反向X_X:
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000; # Node.js API 服务
}
}
server {
listen 80;
server_name blog.example.com;
location / {
proxy_pass http://localhost:4000; # Hexo 博客服务
}
}
✅ 三、注意事项
| 项目 | 建议 |
|---|---|
| 域名备案 | 多个域名需分别备案 |
| 安全组 | 开放所需端口(80、443、其他自定义端口) |
| SSL证书 | 可以为每个域名配置独立证书 |
| 日志管理 | 不同网站日志可分开记录,便于调试 |
✅ 四、进阶建议
- 使用宝塔面板等可视化工具简化部署流程
- 使用 Docker 容器化部署多个服务,隔离更彻底
- 使用负载均衡 SLB + 多台 ECS 分担流量(适用于高并发场景)
如果你提供具体的环境信息(操作系统、Web 服务器类型、是否已有网站等),我可以给出更详细的部署步骤。
云计算导航