在阿里云ECS(弹性计算服务)主机上实现多个网站共用一台服务器,是常见且高效的部署方式。以下是详细步骤和最佳实践:
一、准备工作
-
购买并配置ECS实例
- 选择合适的实例规格(如2核4G以上,根据流量预估)
- 安装操作系统(推荐 CentOS、Ubuntu 或 Alibaba Cloud Linux)
- 配置安全组:开放端口 80(HTTP)、443(HTTPS)、22(SSH)
-
域名准备
- 至少两个域名或子域名(如
site1.com、site2.com) - 在阿里云 DNS 或其他 DNS 服务商处将域名解析到 ECS 的公网 IP
- 至少两个域名或子域名(如
二、部署 Web 服务器(以 Nginx 为例)
1. 安装 Nginx
# CentOS / Alibaba Cloud Linux
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# Ubuntu
sudo apt update
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
2. 创建多个网站目录
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
echo "<h1>Welcome to Site1</h1>" | sudo tee /var/www/site1.com/html/index.html
echo "<h1>Welcome to Site2</h1>" | sudo tee /var/www/site2.com/html/index.html
3. 配置 Nginx 虚拟主机(Server Block)
创建站点配置文件:
/etc/nginx/conf.d/site1.com.conf
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
/etc/nginx/conf.d/site2.com.conf
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
4. 测试并重载 Nginx
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx
此时访问 http://site1.com 和 http://site2.com 将显示不同内容。
三、支持 HTTPS(可选但推荐)
使用 Let’s Encrypt + Certbot 为每个站点配置 SSL 证书:
# 安装 Certbot
sudo yum install -y certbot python3-certbot-nginx # CentOS
# 或
sudo apt install -y certbot python3-certbot-nginx # Ubuntu
# 为 site1.com 获取证书
sudo certbot --nginx -d site1.com -d www.site1.com
# 为 site2.com 获取证书
sudo certbot --nginx -d site2.com -d www.site2.com
Certbot 会自动修改 Nginx 配置,启用 HTTPS 并设置自动续期。
四、进阶方案(可选)
| 方案 | 说明 |
|---|---|
| Docker 部署 | 使用 Docker 运行多个容器,每个网站独立运行环境,隔离性更好 |
| 反向X_X + 多应用 | 如前端 Vue + 后端 Node.js/Python,通过 Nginx 分发请求 |
| 负载均衡 SLB + 多台 ECS | 高流量场景下,搭配 SLB 实现高可用 |
| 使用宝塔面板 | 图形化管理多个网站、数据库、SSL 等,适合新手 |
五、注意事项
- 资源监控:使用阿里云云监控或
htop、nload监控 CPU、内存、带宽 - 备份策略:定期备份网站文件和数据库
- 安全加固:
- 关闭不必要的端口
- 设置防火墙(firewalld/ufw)
- 定期更新系统和软件
- 日志管理:查看
/var/log/nginx/下的访问日志和错误日志
总结
通过 Nginx 虚拟主机(Virtual Host) 技术,可以在一台阿里云 ECS 上轻松托管多个网站。核心要点:
✅ 域名正确解析
✅ Nginx 配置多个 server block
✅ 合理的目录结构与权限
✅ 可选 HTTPS 加密
只要合理规划资源和安全策略,单台服务器完全可以稳定运行多个网站。
如有具体技术栈(如 WordPress、Node.js、Java 等),可进一步定制部署方案。
云小栈