在阿里云 ECS(Elastic Compute Service)上配置两个网站,可以通过以下几种方式实现,具体取决于你的需求和技术栈。以下是常见的方法:
✅ 一、使用 Nginx/Apache 配置虚拟主机(推荐)
这是最常见也是最灵活的方式,适用于 Linux 系统(如 CentOS、Ubuntu)。
? 前提条件:
- 已安装 Web 服务器软件(Nginx 或 Apache)
- 拥有两个域名或子域名
- ECS 实例已开放 80/443 端口
? 方法一:Nginx 配置两个网站
步骤 1:确保 Nginx 安装
# Ubuntu/Debian
sudo apt update && sudo apt install nginx -y
# CentOS/RHEL
sudo yum install nginx -y
步骤 2:为每个网站创建目录
sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2
步骤 3:创建测试页面(可选)
echo "This is Site 1" > /var/www/site1/index.html
echo "This is Site 2" > /var/www/site2/index.html
步骤 4:配置 Nginx 虚拟主机
创建 site1 配置文件:
sudo nano /etc/nginx/sites-available/site1.conf
内容如下:
server {
listen 80;
server_name www.site1.com;
location / {
root /var/www/site1;
index index.html;
try_files $uri $uri/ =404;
}
}
创建 site2 配置文件:
sudo nano /etc/nginx/sites-available/site2.conf
内容如下:
server {
listen 80;
server_name www.site2.com;
location / {
root /var/www/site2;
index index.html;
try_files $uri $uri/ =404;
}
}
步骤 5:启用站点并重启 Nginx
sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/
sudo nginx -t # 检查配置是否正确
sudo systemctl restart nginx
步骤 6:配置 DNS 解析
将 www.site1.com 和 www.site2.com 的 A 记录指向你的 ECS 公网 IP 地址。
? 方法二:Apache 配置两个网站(Vhost)
如果你使用的是 Apache,可以使用 VirtualHost 功能。
示例配置(CentOS):
编辑或新建一个 vhost 文件:
sudo nano /etc/httpd/conf.d/vhosts.conf
添加如下内容:
<VirtualHost *:80>
ServerAdmin admin@site1.com
DocumentRoot "/var/www/site1"
ServerName www.site1.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@site2.com
DocumentRoot "/var/www/site2"
ServerName www.site2.com
</VirtualHost>
然后重启 Apache:
sudo systemctl restart httpd
✅ 二、使用不同端口区分网站(不推荐用于正式环境)
你也可以通过不同的端口来访问两个网站,比如:
http://your-ip:80→ 网站1http://your-ip:8080→ 网站2
但这种方式对用户不太友好,适合内部测试。
✅ 三、使用 Docker 分离部署多个服务(进阶)
你可以使用 Docker + Nginx 反向X_X来运行多个应用容器,例如:
- 容器1:运行 WordPress
- 容器2:运行 Node.js 应用
然后通过 Nginx 做反向X_X,根据域名路由到不同容器。
❗注意事项:
- 公网 IP:如果只有一个公网 IP,需要通过域名 + 虚拟主机方式区分。
- 备案:若使用我国大陆地区的 ECS,绑定域名必须完成 ICP 备案。
- 安全组设置:确保 ECS 的安全组允许 HTTP(80) 和 HTTPS(443) 端口入方向访问。
? 测试方法
修改本地 hosts 文件(Windows 或 Mac/Linux)进行测试:
<你的ECS公网IP> www.site1.com
<你的ECS公网IP> www.site2.com
然后浏览器访问:
http://www.site1.comhttp://www.site2.com
如需我帮你生成具体的配置文件,请提供:
- 使用的系统(如 CentOS 7、Ubuntu 20.04)
- 使用的 Web 服务器(Nginx/Apache)
- 是否需要 HTTPS 支持?
我可以为你生成完整的配置模板。
CDNK博客