阿里云服务器怎么实现多个虚拟主机?

服务器

在阿里云服务器(ECS)上实现多个虚拟主机,通常是指在一个服务器实例上运行多个网站(即不同的域名指向同一个IP地址,但根据域名显示不同的内容)。这可以通过 Apache 或 Nginx 的虚拟主机配置 来实现。

下面是两种常见方式的详细步骤:


✅ 一、使用 Apache 配置多个虚拟主机

步骤1:安装 Apache

# Ubuntu/Debian
sudo apt update
sudo apt install apache2 -y

# CentOS/RHEL
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:创建示例页面

例如:

echo "Hello from example.com" > /var/www/example.com/public_html/index.html
echo "Hello from test.com" > /var/www/test.com/public_html/index.html

步骤4:配置虚拟主机文件

创建两个 .conf 文件:

/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
</VirtualHost>

/etc/apache2/sites-available/test.com.conf

<VirtualHost *:80>
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
</VirtualHost>

步骤5:启用站点并重启 Apache

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
sudo systemctl restart apache2

注意:CentOS 下不需要 a2ensite,直接修改 httpd.conf 或放入 conf.d/ 目录即可。


✅ 二、使用 Nginx 配置多个虚拟主机

步骤1:安装 Nginx

# Ubuntu/Debian
sudo apt install nginx -y

# CentOS
sudo yum 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

步骤3:创建示例页面

echo "Hello from example.com" > /var/www/example.com/public_html/index.html
echo "Hello from test.com" > /var/www/test.com/public_html/index.html

步骤4:配置虚拟主机文件

/etc/nginx/sites-available/example.com

server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        root /var/www/example.com/public_html;
        index index.html;
        try_files $uri $uri/ =404;
    }
}

/etc/nginx/sites-available/test.com

server {
    listen 80;
    server_name test.com www.test.com;

    location / {
        root /var/www/test.com/public_html;
        index index.html;
        try_files $uri $uri/ =404;
    }
}

步骤5:启用站点并重启 Nginx

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/

# 删除默认站点(可选)
sudo rm /etc/nginx/sites-enabled/default

sudo nginx -t          # 检查语法
sudo systemctl restart nginx

✅ 三、域名解析设置(阿里云控制台)

  • 在 阿里云控制台 添加 A 记录,将你的多个域名解析到 ECS 实例的公网 IP。
  • 示例:
    example.com   → 1.2.3.4
    test.com      → 1.2.3.4

✅ 四、补充说明

内容 说明
是否需要多个IP? 不需要。一个公网IP就可以支持多个虚拟主机。
如何支持HTTPS? 可以为每个虚拟主机配置 SSL 证书(如 Let’s Encrypt)。
推荐 Web 服务器 Nginx 性能更好,推荐用于生产环境。

如果你有具体的系统版本(如 Ubuntu 20.04、CentOS 7 等),我可以提供更精确的命令。

是否需要我帮你生成完整的配置文件模板?

未经允许不得转载:CDNK博客 » 阿里云服务器怎么实现多个虚拟主机?