在阿里云上部署多个网站,核心思路是“一个云服务器(ECS)或容器服务承载多个站点”,通过 Web 服务器配置虚拟主机(Virtual Host)来实现。以下是需要配置的关键服务和步骤:
一、基础资源准备
-
云服务器 ECS
- 购买一台或多台 ECS(推荐按业务量选择配置,如 2 核 4G 起步)。
- 安装操作系统(CentOS/Ubuntu 等),并配置安全组规则(开放 80/443 端口)。
-
域名解析
- 为每个网站购买独立域名(或在阿里云控制台添加子域名)。
- 在阿里云 DNS 控制台将域名 A 记录指向 ECS 的公网 IP。
二、Web 服务器配置(核心)
根据技术栈选择主流方案:
方案 A:Nginx(推荐,性能高、配置灵活)
# /etc/nginx/conf.d/site1.conf
server {
listen 80;
server_name www.site1.com site1.com;
root /var/www/site1/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
# PHP 支持(如需)
location ~ .php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
# /etc/nginx/conf.d/site2.conf
server {
listen 80;
server_name www.site2.com site2.com;
root /var/www/site2/html;
# ... 类似配置
}
- 重启 Nginx:
sudo nginx -t && sudo systemctl restart nginx
方案 B:Apache
- 启用
mod_vhost_alias模块,创建<VirtualHost>配置块。 - 示例
/etc/apache2/sites-available/site1.conf:<VirtualHost *:80> ServerName www.site1.com DocumentRoot /var/www/site1 <Directory /var/www/site1> AllowOverride All Require all granted </Directory> </VirtualHost>
三、数据库与后端服务(可选但常见)
- MySQL/MariaDB:单实例可容纳多网站的数据库(通过不同 Schema 隔离)。
- Redis:缓存共享或按站点隔离。
- PHP-FPM/Node.js/Python Gunicorn:根据语言环境配置多进程池。
✅ 建议:生产环境避免所有网站共用同一数据库用户,通过权限隔离提升安全性。
四、安全与运维增强
| 项目 | 说明 |
|---|---|
| SSL 证书 | 使用阿里云 SSL 证书服务免费申请 HTTPS 证书(Let’s Encrypt 也可),配置到 Nginx/Apache |
| WAF 防护 | 开启阿里云 Web 应用防火墙(WAF)防御 SQL 注入/XSS 等攻击 |
| DDoS 防护 | 对高流量站点启用 DDoS 高防 IP(按需付费) |
| 日志管理 | 配置 logrotate 轮转日志,或使用阿里云 SLS 实时采集分析 |
| 备份策略 | 使用云盘快照 + RDS 自动备份 + OSS 异地存储 |
五、替代方案对比(按需选择)
| 方案 | 适用场景 | 优势 | 注意事项 |
|---|---|---|---|
| 单 ECS + 多虚拟主机 | 中小规模、预算有限 | 成本低、管理集中 | 单点故障风险,需做好监控 |
| Kubernetes (ACK) | 微服务架构、弹性伸缩需求 | 高可用、自动化部署 | 学习成本高,适合复杂场景 |
| Serverless + CDN | 静态站、低流量 API | 免运维、按量付费 | 动态内容支持有限 |
| 对象存储 OSS + 函数计算 FC | 纯静态网站 | 超低成本、全球提速 | 不适合有状态应用 |
六、快速检查清单
✅ 域名已解析至 ECS IP
✅ Web 服务器已配置多站点虚拟主机
✅ 各站点目录权限正确(如 www-data:www-data)
✅ SSL 证书已安装并强制 HTTPS
✅ 防火墙仅开放必要端口(80/443)
✅ 定期备份脚本已部署
需要我提供:
- 某一种 Web 服务器(Nginx/Apache)的详细配置模板?
- 自动化部署脚本(Shell/Ansible)?
- 高可用架构设计图?
欢迎告诉我您的具体技术栈和业务规模,我可进一步定制方案!
云小栈