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