在阿里云服务器(ECS)上设置虚拟主机,主要是通过配置 Web 服务器软件(如 Apache 或 Nginx)来实现的。虚拟主机可以让一台服务器托管多个网站,每个网站绑定不同的域名。
下面以 Nginx 和 Apache 分别介绍如何在阿里云 ECS 上配置虚拟主机:
🧱 前提条件
- 已购买阿里云 ECS 实例,并已安装 Linux 系统(如 CentOS、Ubuntu 等)。
- 已安装 Web 服务器软件(如 Nginx 或 Apache)。
- 已备案的域名(如果用于公网访问)。
- 安全组已开放 80(HTTP)或 443(HTTPS)端口。
✅ 使用 Nginx 配置虚拟主机(推荐)
步骤 1:安装 Nginx(如果未安装)
# CentOS/RHEL
sudo yum install nginx -y
# Ubuntu/Debian
sudo apt update && sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
步骤 2:创建网站目录
为每个站点创建独立的目录:
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
你可以把网页文件放入对应的 public_html 文件夹中。
步骤 3:创建虚拟主机配置文件
方法一:直接修改 /etc/nginx/conf.d/
新建一个配置文件,例如:
sudo nano /etc/nginx/conf.d/example.com.conf
写入如下内容:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
同样,再创建 test.com.conf:
sudo nano /etc/nginx/conf.d/test.com.conf
server {
listen 80;
server_name test.com www.test.com;
root /var/www/test.com/public_html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
步骤 4:检查并重启 Nginx
sudo nginx -t # 检查配置文件语法是否正确
sudo systemctl reload nginx # 重新加载配置
步骤 5:配置 DNS 解析(域名绑定)
登录 阿里云控制台,将 example.com 和 test.com 的 A 记录解析到你的 ECS 实例公网 IP。
✅ 使用 Apache 配置虚拟主机
步骤 1:安装 Apache
# CentOS
sudo yum install httpd -y
# Ubuntu
sudo apt install apache2 -y
启动服务:
sudo systemctl start apache2
sudo systemctl enable apache2
步骤 2:创建网站目录
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
步骤 3:创建虚拟主机配置文件
CentOS:
在 /etc/httpd/conf.d/ 下创建虚拟主机文件:
sudo nano /etc/httpd/conf.d/example.com.conf
内容如下:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
</VirtualHost>
同理创建 test.com.conf:
sudo nano /etc/httpd/conf.d/test.com.conf
<VirtualHost *:80>
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
</VirtualHost>
Ubuntu:
使用 sites-available 和 sites-enabled 目录:
sudo nano /etc/apache2/sites-available/example.com.conf
内容类似:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
</VirtualHost>
启用站点并禁用默认站点:
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
🔒 注意事项
- 确保防火墙和安全组放行 80/443 端口。
- 如果使用 HTTPS,需配置 SSL 证书(可使用 Let’s Encrypt 免费证书)。
- 可以使用宝塔面板简化操作(适合新手)。
🛠️ 可选:使用宝塔面板快速搭建虚拟主机
如果你不熟悉命令行操作,可以安装 宝塔面板 来图形化管理虚拟主机、数据库、FTP 等。
安装方法(以 CentOS 为例):
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成后会提示你访问面板地址,输入账号密码即可开始图形化建站。
如需我帮你生成完整的虚拟主机配置模板,也可以告诉我你的环境(系统 + Web 服务器类型),我可以为你定制一份配置文件。
云知识