docs: 完善 Nginx 反代配置及 WebSocket 支持说明
This commit is contained in:
@@ -43,8 +43,9 @@ npm run build:prod
|
|||||||
npm start
|
npm start
|
||||||
```
|
```
|
||||||
|
|
||||||
## 3. 生产环境建议 (进程守护)
|
## 4. 生产环境建议 (进程守护与反代)
|
||||||
|
|
||||||
|
### 4.1 使用 pm2 管理进程
|
||||||
为了保证服务器断开连接后 Mixly 依然运行,建议使用 `pm2`:
|
为了保证服务器断开连接后 Mixly 依然运行,建议使用 `pm2`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -54,13 +55,58 @@ pm2 save
|
|||||||
pm2 startup
|
pm2 startup
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4. 跨平台特性说明
|
### 4.2 使用 Nginx 反代 (推荐)
|
||||||
|
如果你想通过域名访问并使用标准端口 (80/443),请参考以下 Nginx 配置:
|
||||||
|
|
||||||
|
```nginx
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name 你的域名;
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name 你的域名;
|
||||||
|
|
||||||
|
ssl_certificate /path/to/your/cert.pem;
|
||||||
|
ssl_certificate_key /path/to/your/key.pem;
|
||||||
|
|
||||||
|
# 核心配置:处理 WebSocket 和大文件上传
|
||||||
|
location / {
|
||||||
|
proxy_pass https://127.0.0.1:7100;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
|
||||||
|
# 允许上传大文件 (如库同步或大项目)
|
||||||
|
client_max_body_size 100M;
|
||||||
|
|
||||||
|
proxy_connect_timeout 3600s;
|
||||||
|
proxy_read_timeout 3600s;
|
||||||
|
proxy_send_timeout 3600s;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 处理 Socket.io 特殊路径
|
||||||
|
location /mixly-socket/ {
|
||||||
|
proxy_pass https://127.0.0.1:7100;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. 跨平台特性说明
|
||||||
|
|
||||||
- **路径自动适配**:本项目已重构 `config.js`,部署时会自动识别 Linux 路径,无需手动修改 `config.json`。
|
- **路径自动适配**:本项目已重构 `config.js`,部署时会自动识别 Linux 路径,无需手动修改 `config.json`。
|
||||||
- **库文件全内置**:`arduino-libs` 已包含在 Git 仓库中,`git clone` 后即可直接编译带库的工程。
|
- **库文件全内置**:`arduino-libs` 已包含在 Git 仓库中,`git clone` 后即可直接编译带库的工程。
|
||||||
|
|
||||||
## 5. 常见问题排查
|
## 6. 常见问题排查
|
||||||
|
|
||||||
- **HTTPS 访问**:默认运行在 `https://你的IP:7100`。
|
- **HTTPS 访问**:默认运行在 `https://你的IP:7100`。
|
||||||
|
- **反向代理配置**:如果使用 Nginx 反代,请务必处理好的 WebSocket (Upgrade) 头,否则页面无法连接。
|
||||||
- **上传报错**:如果提示权限不足,请确认当前用户是否在 `dialout` 组,或尝试 `root` 运行(不推荐)。
|
- **上传报错**:如果提示权限不足,请确认当前用户是否在 `dialout` 组,或尝试 `root` 运行(不推荐)。
|
||||||
- **Python 命令**:系统必须能识别 `python3` 命令。
|
- **Python 命令**:系统必须能识别 `python3` 命令。
|
||||||
|
|||||||
Reference in New Issue
Block a user