在阿里云轻量应用服务器(Simple Application Server)上配置多个域名指向不同网站,核心逻辑与标准 Linux 服务器一致:通过 Web 服务器软件(Nginx 或 Apache)的虚拟主机配置实现域名分流。
由于轻量服务器通常预装了宝塔面板(BT Panel)或需要手动安装 Nginx/Apache,以下将分两种主流场景提供操作方案。请根据你服务器的实际环境选择对应路径。
场景一:使用宝塔面板(推荐新手)
如果你的轻量服务器在安装时选择了“宝塔面板”镜像,或者已自行安装,这是最直观的方式。
-
登录控制台
进入阿里云轻量应用服务器控制台,点击实例右侧的“管理”,通过 VNC 或 SSH 连接服务器。如果已安装宝塔,直接访问http://<服务器 IP>:8888登录面板。 -
绑定域名到服务器
- 在本地电脑或云解析 DNS 控制台,将你的多个域名(如
a.com,b.com)的 A 记录都解析到该轻量服务器的公网 IP。 - 确保防火墙规则允许 80/443 端口通行(轻量服务器默认安全组需放行)。
- 在本地电脑或云解析 DNS 控制台,将你的多个域名(如
-
在宝塔中创建站点
- 进入宝塔面板 -> 网站。
- 点击 添加站点。
- 第一个站点:输入域名
a.com,根目录设为/www/wwwroot/a.com,PHP 版本按需选择。 - 第二个站点:再次点击添加,输入域名
b.com,根目录设为/www/wwwroot/b.com。 - 重复此步骤直至所有域名配置完成。
-
配置 SSL 证书(可选但推荐)
在每个站点的设置页面,点击"SSL"标签,申请 Let’s Encrypt 免费证书并开启 HTTPS。 -
验证
修改各域名的 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.com 和 example-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.conf 和 site-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 ok 和 test is successful,则执行重载:
sudo systemctl reload nginx
5. 处理 HTTP 重定向(进阶优化)
为了统一流量入口,通常希望强制所有请求跳转到 HTTPS。你可以在每个 server 块中添加一个专门监听 80 端口的重定向规则,或者在 HTTPS 块中做限制。
6. 域名解析(DNS 层面)
无论采用哪种后端配置,必须确保:
- 在阿里云云解析 DNS 控制台。
- 将
example-a.com和example-b.com的 A 记录 均指向轻量服务器的同一公网 IP。 - 等待 DNS 生效(TTL 时间),通常几分钟内即可生效。
常见问题排查
-
权限问题:如果网站无法读取文件或上传失败,检查目录权限。通常需将所有者设置为 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) -
防火墙拦截:轻量应用服务器的“安全组”规则必须放行 TCP 80 和 443 端口。如果在阿里云控制台看到连接超时,优先检查此处。
-
缓存问题:修改配置后浏览器仍显示旧内容,尝试清除浏览器缓存或使用
Ctrl+F5强制刷新。
通过以上步骤,即可在同一台轻量服务器上稳定支撑多个独立域名的网站运行。
CLOUD云枢