在阿里云服务器(ECS)上搭建虚拟主机,实际上是通过配置 Web 服务器软件(如 Apache 或 Nginx)来实现多个网站共享同一个服务器资源。下面是一个详细的步骤指南,帮助你在阿里云 ECS 上配置虚拟主机。
🧩 什么是虚拟主机?
虚拟主机是指在同一台物理服务器上运行多个网站,每个网站有独立的域名和文件目录。通过域名访问时,Web 服务器根据请求头中的 Host 字段决定返回哪个网站的内容。
📌 前提条件
- 已购买并登录阿里云 ECS 实例(推荐使用 CentOS 或 Ubuntu 系统)
- 安装了 Web 服务器软件(Apache 或 Nginx)
- 已备案的域名(国内服务器必须备案)
✅ 方法一:使用 Apache 配置虚拟主机(以 CentOS 为例)
步骤 1:安装 Apache
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
步骤 2:创建网站目录
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
你可以将不同的网站文件放入各自的目录中。
步骤 3:配置虚拟主机文件
创建一个虚拟主机配置文件:
sudo vi /etc/httpd/conf.d/vhosts.conf
添加以下内容:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
</VirtualHost>
<VirtualHost *:80>
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
</VirtualHost>
步骤 4:设置权限
确保目录权限正确:
sudo chown -R apache:apache /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/test.com/public_html
sudo chmod -R 755 /var/www
步骤 5:重启 Apache
sudo systemctl restart httpd
步骤 6:配置 DNS 解析
将你的域名解析到 ECS 的公网 IP 地址(可在阿里云控制台的“云解析DNS”中操作)。
✅ 方法二:使用 Nginx 配置虚拟主机(推荐)
步骤 1:安装 Nginx
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
步骤 2:创建网站目录
同上:
sudo mkdir -p /usr/share/nginx/example.com
sudo mkdir -p /usr/share/nginx/test.com
步骤 3:创建虚拟主机配置文件
进入站点配置目录:
cd /etc/nginx/conf.d/
sudo vi example.com.conf
添加如下内容:
server {
listen 80;
server_name example.com www.example.com;
location / {
root /usr/share/nginx/example.com;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
再创建另一个站点:
sudo vi test.com.conf
内容类似:
server {
listen 80;
server_name test.com www.test.com;
location / {
root /usr/share/nginx/test.com;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
步骤 4:检查语法并重启 Nginx
sudo nginx -t
sudo systemctl restart nginx
步骤 5:上传网页文件
把你的 HTML 文件分别放到对应的目录下即可。
🔐 防火墙设置(如有需要)
确保 80 端口开放:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
🧪 测试访问
在浏览器中输入你绑定的域名,查看是否能正常显示不同网站的内容。
📦 扩展建议
- 使用宝塔面板等可视化工具可以更方便地管理虚拟主机。
- 如果你要部署 PHP、MySQL 等环境,可进一步安装 LNMP(Linux + Nginx + MySQL + PHP)。
- 可以为每个虚拟主机配置 SSL 证书(HTTPS),使用 Let’s Encrypt 免费证书。
🧰 推荐工具
| 工具 | 功能 |
|---|---|
| 宝塔面板 | 图形化管理虚拟主机、数据库、SSL 等 |
| Let’s Encrypt | 免费 HTTPS 证书 |
| Alibaba Cloud DNS | 域名解析服务 |
如果你需要我帮你写具体的配置文件或安装 LNMP 环境,请告诉我你的系统版本(如 CentOS 7 或 Ubuntu 20.04)和需求,我可以一步步带你操作!
需要图形界面管理?我可以教你安装 宝塔面板,非常简单直观 😊
CDNK博客