在宝塔面板中,你可以通过 反向X_X 或 子目录绑定 的方式,让一个域名同时运行两个不同的项目。以下是两种常见且实用的配置方法:
✅ 方法一:使用反向X_X(推荐)
适用于:
- 你有一个主项目运行在某个端口(如 Node.js、Python Flask/Django、Java Spring Boot 等)
- 第二个项目运行在另一个端口
- 希望通过同一个域名的不同路径访问两个项目
示例:
- 主站:
https://www.example.com→ 指向 PHP 项目或静态页面 - 子项目:
https://www.example.com/app2→ 反向X_X到本地http://127.0.0.1:3000
配置步骤:
-
部署两个项目
- 项目1:在宝塔创建网站
www.example.com,根目录放项目1代码。 - 项目2:启动在本地某个端口,比如用 Node.js 启动在
http://127.0.0.1:3000
- 项目1:在宝塔创建网站
-
进入宝塔网站设置
- 打开宝塔 → 网站 → 找到你的域名站点 → 点击「设置」
-
添加反向X_X
- 切换到「反向X_X」选项卡
- 添加反向X_X:
- X_X名称:
app2 - 目标URL:
http://127.0.0.1:3000 - 发送域名:
$host - 开启缓存(可选)
- X_X名称:
- 保存
-
修改 Nginx 配置(关键)
- 进入「配置文件」选项卡
- 找到刚添加的反向X_X location 块,通常是:
location /app2 { proxy_pass http://127.0.0.1:3000; ... } - 如果没有
/app2路径,手动修改成:location /app2/ { proxy_pass http://127.0.0.1:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } - 注意结尾斜杠
/,避免路径错乱
-
重启 Nginx
- 保存配置,重启 Nginx
-
访问测试:
https://www.example.com→ 项目1https://www.example.com/app2→ 项目2(通过反向X_X)
✅ 方法二:使用子目录绑定(适用于同服务器不同项目目录)
适用于:
- 两个项目都是 PHP 或静态文件
- 都放在同一服务器上,但不同目录
示例:
https://www.example.com→/www/wwwroot/site1https://www.example.com/app2→ 指向/www/wwwroot/site2
配置步骤:
-
在宝塔中创建主站点
www.example.com,根目录为site1 -
进入该站点的「配置文件」
-
添加如下 location 块:
location /app2/ { alias /www/wwwroot/site2/; index index.html index.php; if (-f $request_filename) { break; } if (!-e $request_filename) { rewrite ^/app2/(.*)$ /app2/index.php/$1 last; break; } } location ~ /app2/.+.php($|/) { alias /www/wwwroot/site2/$1; fastcgi_pass unix:/tmp/php-cgi.sock; # 根据你的PHP版本调整 include fastcgi_params; fastcgi_param SCRIPT_FILENAME /www/wwwroot/site2$fastcgi_script_name; fastcgi_index index.php; }⚠️ 注意:
alias和fastcgi_param SCRIPT_FILENAME路径要写对,否则 PHP 不执行。
-
-
保存并重启 Nginx
-
访问:
https://www.example.com→ 主项目https://www.example.com/app2→ 第二个项目
✅ 方法三:使用二级域名(更简单清晰)
如果你可以接受使用子域名,这是最清晰的方式:
www.example.com→ 项目1app2.example.com→ 项目2(新建一个站点)
在宝塔中:
- 创建两个网站
- 分别绑定
www.example.com和app2.example.com - 各自指向不同项目目录或反向X_X
总结对比
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 反向X_X | 项目运行在不同端口(Node.js、Python等) | 灵活,支持非HTTP服务 | 需要额外配置Nginx |
| 子目录绑定 | 两个静态/PHP项目在同一服务器 | 不占用端口 | 配置复杂,易出错 |
| 二级域名 | 两个独立项目 | 简单清晰,易于维护 | 需要用户接受子域名 |
✅ 推荐方案:
如果是前后端分离或有后端服务,使用反向X_X是最常见、最灵活的做法。
如有具体技术栈(如 Vue + Node.js),可提供更详细的配置示例。欢迎补充你的项目类型!
云知识