使用宝塔面板怎么配置多个子域名分别指向不同的网站项目?

使用宝塔面板配置多个子域名指向不同网站项目的步骤如下:

一、前期准备

  1. 域名解析:在域名服务商处添加A记录

    • 子域名1 → 服务器IP
    • 子域名2 → 服务器IP
    • (如:blog.example.comshop.example.com
  2. 确保服务器环境

    • 已安装Web服务(Nginx/Apache)
    • 各网站项目文件已上传到不同目录

二、配置步骤

方法1:通过网站菜单添加(推荐)

  1. 登录宝塔面板 → 点击左侧「网站」

  2. 添加第一个站点

    • 域名:填写完整子域名 blog.example.com
    • 根目录:选择对应的项目目录 /www/wwwroot/blog
    • PHP版本:按需选择
    • 点击「提交」
  3. 添加第二个站点

    • 重复上述步骤,使用另一个子域名和目录
    • 如:shop.example.com/www/wwwroot/shop

方法2:手动修改配置文件

  1. 进入网站设置 → 选择要修改的站点 → 「配置文件」
  2. 找到 server_name 部分:
    
    # 单个子域名
    server_name blog.example.com;

多个子域名(同一站点)

server_name blog.example.com bbs.example.com;


## 三、特殊场景配置

### 1. **子域名泛解析**
```nginx
server_name *.example.com;

2. HTTPS配置

  • 每个子域名需单独申请SSL证书
  • 或使用通配符证书 *.example.com

3. 反向XX配置

location / {
    proxy_pass http://localhost:端口号;
    proxy_set_header Host $host;
}

四、常见问题解决

  1. 访问显示默认站点

    • 检查域名解析是否生效(ping 子域名)
    • 检查宝塔面板网站列表中的域名是否正确
  2. 403 Forbidden 错误

    • 检查网站目录权限(建议755)
    • 检查目录索引文件是否存在
  3. HTTPS不生效

    • 确保每个子域名SSL证书已部署
    • 检查443端口是否开放

五、最佳实践建议

  1. 目录结构规范

    /www/wwwroot/
    ├── blog/          # blog.example.com
    ├── shop/          # shop.example.com
    └── api/           # api.example.com
  2. 定期备份站点配置

  3. 使用「伪静态」规则时,确保各站点规则独立

六、快速检查命令

# 查看Nginx配置是否正常
nginx -t

# 重载配置
nginx -s reload  # 或通过宝塔面板重启服务

按此流程操作后,每个子域名将独立指向对应的网站项目,互不干扰。

云服务器