Files
platform-pipi/packages/voice-production/scripts/NGINX-本地测试说明.md
T
2026-02-02 13:19:46 +08:00

130 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用本机 Nginx 测试 pipi-assets 配置
按顺序做下面几步即可。
---
## 1. 检查是否已安装 Nginx
在终端执行:
```bash
nginx -v
```
- **有版本号**(如 `nginx version: nginx/1.27.5`)→ 已安装,跳到第 2 步。
- **报错 command not found** → 需要先安装。Mac 推荐用 Homebrew
```bash
brew install nginx
```
---
## 2. 确认资源目录存在
本配置会使用项目下的 `pipi-assets` 目录。若还没有,先执行一次:
```bash
cd platform-pipi/packages/voice-production
pnpm run deploy-assets:local
```
这样会生成 `pipi-assets/`(内含 `char/`、`voice/` 等)。
---
## 3. 让主 Nginx 加载本项目的配置
你的 Nginx 主配置在 **Homebrew** 安装时一般是:
- Apple Silicon`/opt/homebrew/etc/nginx/nginx.conf`
- Intel`/usr/local/etc/nginx/nginx.conf`
任选一种方式,让主配置把「本项目里的 pipi-assets 配置」包含进去。
### 方式 A:在主配置里加一行 include(推荐)
1. 用编辑器打开主配置,例如:
```bash
open -e /opt/homebrew/etc/nginx/nginx.conf
```
(Intel 机器把路径改成 `/usr/local/etc/nginx/nginx.conf`
2. 在 `http { ... }` 块里找合适位置(例如在 `include servers/*;` 那一行**上面**),加一行:
```nginx
include /Users/joey-xd/sites/pipi-learn/platform-pipi/packages/voice-production/scripts/nginx-pipi-assets-local.conf;
```
注意把路径改成你本机实际的项目路径。
3. 保存退出。
### 方式 B:放到 Nginx 的 servers 目录
1. 若没有 `servers` 目录,先建一个:
```bash
sudo mkdir -p /opt/homebrew/etc/nginx/servers
```
Intel 用 `/usr/local/etc/nginx/servers`
2. 做一份软链,指向项目里的本地配置:
```bash
sudo ln -sf /Users/joey-xd/sites/pipi-learn/platform-pipi/packages/voice-production/scripts/nginx-pipi-assets-local.conf /opt/homebrew/etc/nginx/servers/pipi-assets.conf
```
主配置里已有 `include servers/*;` 时会自动加载。
---
## 4. 检查配置并重载 Nginx
```bash
# 检查语法是否正确
nginx -t
# 若无报错,重载 Nginx(不中断已有连接)
nginx -s reload
```
若你是用 `brew services start nginx` 启用的,可以改为:
```bash
brew services restart nginx
```
---
## 5. 在浏览器或终端里测试
本地站点监听 **8081 端口**,用 `localhost` 即可访问(无需改 hosts)。
- 健康检查:
**http://localhost:8081/health**
应看到页面内容:`ok`
- 角色 JSON
**http://localhost:8081/char/char_introduce.json**
应返回 JSON 内容
- 语音文件(示例):
**http://localhost:8081/voice/一\_4e00.mp3**
应能播放或下载
终端快速验证:
```bash
curl -s http://localhost:8081/health
curl -s -o /dev/null -w "%{http_code}" http://localhost:8081/char/char_introduce.json
```
---
## 说明
- **端口**:使用 8081 是为了不和 80 端口上已有的其他站点(如 simulation.data-platform.local 等)冲突。
- **配置文件**`nginx-pipi-assets.conf` 是给服务器部署用的(80 端口 + 二级域名);`nginx-pipi-assets-local.conf` 是给本机测试用的(8081 + localhost),路径已指向项目下的 `pipi-assets`。