在阿里云ECS上部署两个网站可以通过以下几种方式实现,具体选择取决于你的需求和技术栈:
方法1:单ECS多端口部署
适用场景:测试环境或简单项目,两个网站独立运行在不同端口。
- 配置Web服务器:
- Nginx:创建两个
server块,分别监听不同端口(如80和8080)。# 网站1(默认80端口) server { listen 80; server_name domain1.com; root /var/www/site1; index index.html; } # 网站2(8080端口) server { listen 8080; server_name domain2.com; root /var/www/site2; index index.html; } - Apache:使用
VirtualHost配置不同端口。
- Nginx:创建两个
- 安全组配置:在阿里云ECS安全组中放行对应端口(如80、8080)。
- 访问方式:
http://domain1.com(默认80端口)http://domain2.com:8080
方法2:基于域名区分(推荐)
适用场景:生产环境,两个网站共享80/443端口,通过不同域名访问。
- 域名解析:将两个域名(如
domain1.com和domain2.com)解析到ECS的公网IP。 - Web服务器配置:
- Nginx示例:
# 网站1 server { listen 80; server_name domain1.com; root /var/www/site1; index index.html; } # 网站2 server { listen 80; server_name domain2.com; root /var/www/site2; index index.html; } - Apache:使用
VirtualHost基于域名区分。
- Nginx示例:
- HTTPS支持:为每个域名申请SSL证书,配置443端口的监听。
- 安全组:确保放行80和443端口。
方法3:使用Docker容器
适用场景:需要隔离环境或灵活扩展。
- 安装Docker:
curl -fsSL https://get.docker.com | sh -
启动两个Web容器:
# 网站1(映射到宿主机的8080端口) docker run -d -p 8080:80 -v /path/to/site1:/usr/share/nginx/html --name site1 nginx # 网站2(映射到宿主机的8081端口) docker run -d -p 8081:80 -v /path/to/site2:/usr/share/nginx/html --name site2 nginx - 通过Nginx反向X_X(可选):将域名指向不同容器端口。
方法4:使用宝塔面板(适合新手)
- 安装宝塔面板:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh - 通过面板添加站点:
- 登录宝塔,在“网站”菜单中分别添加两个网站,绑定不同域名或端口。
- 自动配置Nginx/Apache规则,无需手动编辑文件。
关键注意事项
- 资源分配:确保ECS的CPU、内存和带宽足够支撑两个网站。
- 备案:若域名指向我国大陆ECS,需完成ICP备案。
- 日志管理:为每个网站配置独立的日志文件(如
/var/log/nginx/site1_access.log)。 - 防火墙:检查
iptables/firewalld规则是否允许流量通过。
总结
- 简单快捷:用宝塔面板可视化部署。
- 生产推荐:基于域名的Nginx/Apache配置(方法2)。
- 技术探索:Docker容器化部署。
根据你的熟悉程度和需求选择合适的方式即可。
云服务器