如何在阿里云轻量服务器上配置多个域名指向不同网站?

在阿里云轻量应用服务器(Simple Application Server)上配置多个域名指向不同网站,核心逻辑与标准 Linux 服务器一致:通过 Web 服务器软件(Nginx 或 Apache)的虚拟主机配置实现域名分流

由于轻量服务器通常预装了宝塔面板(BT Panel)或需要手动安装 Nginx/Apache,以下将分两种主流场景提供操作方案。请根据你服务器的实际环境选择对应路径。

场景一:使用宝塔面板(推荐新手)

如果你的轻量服务器在安装时选择了“宝塔面板”镜像,或者已自行安装,这是最直观的方式。

  1. 登录控制台
    进入阿里云轻量应用服务器控制台,点击实例右侧的“管理”,通过 VNC 或 SSH 连接服务器。如果已安装宝塔,直接访问 http://<服务器 IP>:8888 登录面板。

  2. 绑定域名到服务器

    • 在本地电脑或云解析 DNS 控制台,将你的多个域名(如 a.com, b.com)的 A 记录都解析到该轻量服务器的公网 IP。
    • 确保防火墙规则允许 80/443 端口通行(轻量服务器默认安全组需放行)。
  3. 在宝塔中创建站点

    • 进入宝塔面板 -> 网站
    • 点击 添加站点
    • 第一个站点:输入域名 a.com,根目录设为 /www/wwwroot/a.com,PHP 版本按需选择。
    • 第二个站点:再次点击添加,输入域名 b.com,根目录设为 /www/wwwroot/b.com
    • 重复此步骤直至所有域名配置完成。
  4. 配置 SSL 证书(可选但推荐)
    在每个站点的设置页面,点击"SSL"标签,申请 Let’s Encrypt 免费证书并开启 HTTPS。

  5. 验证
    修改各域名的 hosts 文件测试,或直接通过浏览器访问域名,确认是否跳转到了正确的网站内容。


场景二:纯命令行配置 Nginx(专业/无面板环境)

如果你使用的是纯净版镜像或没有安装面板,需要手动编辑 Nginx 配置文件。

1. 准备环境与基础检查

确保 Nginx 已安装且运行正常:

sudo systemctl status nginx
# 若未安装,Debian/Ubuntu: sudo apt install nginx -y
# CentOS/Rocky: sudo yum install nginx -y

2. 规划目录结构

假设你有两个域名 example-a.comexample-b.com,分别对应不同的网站代码:

  • /var/www/html/site-a (存放 example-a.com 的文件)
  • /var/www/html/site-b (存放 example-b.com 的文件)

3. 配置 Nginx 虚拟主机

Nginx 默认配置文件通常在 /etc/nginx/conf.d/ 下,建议为每个域名创建一个独立的 .conf 文件,例如 site-a.confsite-b.conf

创建 site-a 配置 (/etc/nginx/conf.d/site-a.conf):

server {
    listen 80;
    server_name example-a.com www.example-a.com; # 主域名和带 www 的子域名

    root /var/www/html/site-a;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    # 如果是 PHP 项目,通常需要配置 fastcgi_pass
    # location ~ .php$ { ... }
}

创建 site-b 配置 (/etc/nginx/conf.d/site-b.conf):

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

    root /var/www/html/site-b;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }
}

4. 测试并重载配置

在重启服务前,务必检查配置文件语法是否正确:

sudo nginx -t

如果输出 syntax is oktest is successful,则执行重载:

sudo systemctl reload nginx

5. 处理 HTTP 重定向(进阶优化)

为了统一流量入口,通常希望强制所有请求跳转到 HTTPS。你可以在每个 server 块中添加一个专门监听 80 端口的重定向规则,或者在 HTTPS 块中做限制。

6. 域名解析(DNS 层面)

无论采用哪种后端配置,必须确保:

  • 在阿里云云解析 DNS 控制台。
  • example-a.comexample-b.comA 记录 均指向轻量服务器的同一公网 IP。
  • 等待 DNS 生效(TTL 时间),通常几分钟内即可生效。

常见问题排查

  1. 权限问题:如果网站无法读取文件或上传失败,检查目录权限。通常需将所有者设置为 Nginx 用户:

    sudo chown -R www-data:www-data /var/www/html/site-a
    sudo chmod -R 755 /var/www/html/site-a

    (注:CentOS 下用户可能是 nginx,Ubuntu/Debian 通常是 www-data)

  2. 防火墙拦截:轻量应用服务器的“安全组”规则必须放行 TCP 80 和 443 端口。如果在阿里云控制台看到连接超时,优先检查此处。

  3. 缓存问题:修改配置后浏览器仍显示旧内容,尝试清除浏览器缓存或使用 Ctrl+F5 强制刷新。

通过以上步骤,即可在同一台轻量服务器上稳定支撑多个独立域名的网站运行。

未经允许不得转载:CLOUD云枢 » 如何在阿里云轻量服务器上配置多个域名指向不同网站?