5.5 KiB
宝塔面板部署说明
在宝塔面板中部署本项目:前端由 Nginx 提供静态资源,/api 反向代理到本机 Node 后端(默认端口 5599),API 由 run.sh 或宝塔 Node 项目管理器保活。
一、环境准备
-
安装 Node.js(若未安装)
宝塔 → 软件商店 → 搜索 Node 版本管理器 或 Node.js → 安装,并在「设置」中安装 18 或 20 LTS。 -
项目目录
将项目放到计划使用的路径,例如:
/www/wwwroot/view.airtep.com/720yun-offline
或任意目录,下面以项目根目录表示。
二、添加网站并设置根目录
- 宝塔 → 网站 → 添加站点。
- 域名:填你的访问域名(如
view.airtep.com),或 IP。 - 根目录:必须指向构建后的前端目录:
- 推荐:
项目根目录/dist
例如:/www/wwwroot/view.airtep.com/720yun-offline/dist - 这样访问域名时打开的是
dist/index.html,且与/api同源,无需改api.config.json。
- 推荐:
- PHP 版本:选「纯静态」即可(不需要 PHP)。
- 创建站点后,先不关页面,接着配置反向代理。
三、配置 Nginx 反向代理(/api → 5599)
- 在 网站 列表中找到刚添加的站点,点击 设置。
- 左侧选 反向代理 → 添加反向代理。
- 填写:
- 代理名称:随意,如
api - 目标 URL:
http://127.0.0.1:5599/(末尾必须带/,这样/api/config会转成后端的/config,因本后端路由无/api前缀) - 代理目录:
/api(表示只把/api开头的请求转给后端) - 发送域名:默认
$host即可
- 代理名称:随意,如
- 保存后,若宝塔生成的
proxy_pass没有末尾/,请到 设置 → 配置文件 中把proxy_pass http://127.0.0.1:5599;改为proxy_pass http://127.0.0.1:5599/;,再重载 Nginx。
效果:访问 http://你的域名/api/config 时,Nginx 会转发到 http://127.0.0.1:5599/config,后端才能正确返回。
四、部署与启动后端 API
后端需在本机 5599 端口常驻,任选一种方式即可。
方式 A:用 run.sh 一键部署(推荐)
在服务器 SSH 中进入项目根目录执行:
cd /www/wwwroot/view.airtep.com/720yun-offline # 换成你的项目路径
chmod +x run.sh
./run.sh
run.sh 会依次执行:拉代码 → 安装依赖 → 构建到 dist/ → 后台启动 API(nohup 或 pm2)。
因为网站根目录指向的是 项目根目录/dist,构建完成后刷新页面即可看到最新前端;API 已在后台运行,无需再开终端。
使用 pm2 保活(推荐生产环境):
export USE_PM2=1
./run.sh
之后可在宝塔 软件商店 → Node 版本管理器 或 SSH 中用 pm2 list / pm2 logs view-airtep-api 查看。
若 Nginx 未反代 /api(例如直接访问 IP:端口):先设置再执行:
export API_BASE_URL="http://你的域名或IP:5599"
./run.sh
方式 B:用宝塔「Node 项目」托管 API
-
宝塔 → 软件商店 → 安装 Node 项目(或 PM2 管理器)。
-
网站 里站点已按上面设好根目录与反向代理后,在 Node 项目 中:
- 添加项目;
- 项目路径:
项目根目录/server(例如/www/wwwroot/view.airtep.com/720yun-offline/server); - 启动文件:
index.js; - 运行端口:
5599(与反向代理目标一致); - 保存并启动项目。
-
部署/更新前端时,在项目根目录执行(不启动 API,由宝塔管):
cd /www/wwwroot/view.airtep.com/720yun-offline git pull npm install --no-audit --no-fund npm run build然后在宝塔 Node 项目中点击「重启」该应用即可。
五、检查是否正常
- 前端:浏览器访问
http://你的域名,应能打开全景页。 - API:
- 同机执行:
curl -s http://127.0.0.1:5599/config,应返回 JSON。 - 或访问:
http://你的域名/api/config,应返回相同内容(说明反代生效)。
- 同机执行:
若 /api/config 报 502,多半是 5599 端口未启或未监听:用方式 A 再跑一次 ./run.sh,或用方式 B 在宝塔 Node 项目中启动/重启。
六、Nginx 配置参考(可选)
若你习惯手改 Nginx,在对应站点的 server { ... } 内可保留或加入类似配置(与宝塔「反向代理」界面效果一致):
root /www/wwwroot/view.airtep.com/720yun-offline/dist; # 与宝塔中「网站根目录」一致
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://127.0.0.1:5599/;
proxy_http_version 1.1;
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。
七、小结
| 步骤 | 说明 |
|---|---|
| 1. 网站根目录 | 指向 项目根目录/dist |
| 2. 反向代理 | 代理目录 /api → 目标 http://127.0.0.1:5599/(末尾带 /) |
| 3. 后端保活 | 用 ./run.sh(或 USE_PM2=1 ./run.sh),或用宝塔 Node 项目托管 server/index.js 端口 5599 |
按上述配置后,在宝塔中即可正常访问前端,且 /api 请求会由 Nginx 转发到本机 Node 服务并正常运行。