宝塔一个域名 2个网站?

在宝塔面板中,一个域名是不能直接绑定两个网站的,因为 HTTP 协议(默认 80 端口)或 HTTPS(443 端口)请求时,服务器根据域名只能识别并返回一个网站内容。不过,如果你希望实现“一个域名、两个网站”的效果,有以下几种常见的解决方案:


✅ 方法一:使用子目录(推荐)

原理:

将两个网站的内容放在同一个主网站的不同子目录下。

操作步骤:

  1. 登录宝塔面板。
  2. 创建一个站点,绑定你的域名 example.com
  3. 在该站点的网站根目录下创建两个子目录,比如:
    • /www/wwwroot/example.com/site1
    • /www/wwwroot/example.com/site2
  4. 将两个网站分别放到这两个目录中。
  5. 可以通过如下方式访问:
    • http://example.com/site1
    • http://example.com/site2

优点:

  • 配置简单
  • 不需要额外端口或域名

缺点:

  • URL 路径不同,不是完全独立的网站

✅ 方法二:使用不同端口运行第二个网站

原理:

让两个网站监听不同的端口,例如:

  • 主网站用 80 端口(example.com
  • 第二个网站用 8080 端口(example.com:8080

操作步骤:

  1. 创建第一个网站,绑定域名 example.com,使用默认 80 端口。
  2. 创建第二个网站时,选择其他端口(如 8080),也可以手动修改配置文件设置监听端口。
  3. 访问第二个网站时加上端口号:http://example.com:8080

注意:

  • 用户访问第二个网站时需要加端口号,不太友好。
  • 如果你有防火墙或安全组,要确保开放相应端口。

✅ 方法三:使用反向 + 子路径(进阶)

原理:

通过 Nginx 的反向功能,在同一域名下映射多个后端服务。

示例需求:

  • 主网站:example.com
  • 第二个网站作为后台系统:example.com/admin

操作步骤:

  1. 创建主网站 example.com,监听 80 端口。
  2. 在 Nginx 配置中添加如下反向规则:
location /admin {
    proxy_pass http://127.0.0.1:8080;  # 指向本地运行的另一个网站
    proxy_set_header Host $host;
}
  1. 然后你可以运行一个本地服务监听 8080 端口作为第二个网站。

优点:

  • 同一个域名下看起来像两个不同的网站
  • 对用户透明

缺点:

  • 需要懂一点 Nginx 配置

✅ 方法四:使用二级域名(最常见做法)

原理:

为两个网站分配不同的二级域名,例如:

  • 主网站:www.example.com
  • 第二个网站:blog.example.com

操作步骤:

  1. 在宝塔中创建两个网站,分别绑定不同的二级域名。
  2. 在 DNS 解析中添加 A 记录指向服务器 IP:
    • www → 服务器 IP
    • blog → 服务器 IP

优点:

  • 每个网站完全独立
  • 符合常规做法

缺点:

  • 需要使用二级域名,而不是同一个域名

🚫 不可行的方式:

  • 不能将同一个域名绑定到两个不同的网站上(宝塔不允许,Nginx/Apache 也不支持)
  • 不能在不改变路径/端口/子域名的情况下展示两个网站

总结建议:

方案 是否可行 说明
子目录 ✅ 推荐 最简单,适合静态资源
不同端口 ✅ 可行 需要用户带端口号访问
反向 ✅ 进阶 更灵活但需配置
二级域名 ✅ 常规做法 官方推荐标准方案
同域名绑定两个网站 ❌ 不可行 宝塔和 Web 服务器不支持

如果你能提供更具体的场景(比如你是想做前后台分离?还是两个完全不同的项目?),我可以给你定制更合适的方案 😊

是否需要我帮你写一段 Nginx 配置示例?

未经允许不得转载:CLOUD技术博 » 宝塔一个域名 2个网站?