# 服务器部署

> 更新：2026-05-28 | claude

## 双机架构概览

| 角色 | 机器 | IP | 用户 | 用途 |
|:----:|:----:|:----:|:----:|------|
| **主服务器** | 腾讯云广州 | 106.53.70.187 | ubuntu（密钥） | 所有公开服务 + 业务逻辑 |
| **中转代理** | 阿里云香港 | 8.217.216.15 | root（密码） | 境外 API 代理 + 运维救援 |

域名 ssjsuperai.xyz → 腾讯云（Certbot HTTPS）。

---

## 腾讯云广州（主服务器）

### 连接
```bash
ssh ubuntu@106.53.70.187
```

### PM2 进程管理
```bash
pm2 list                    # 8 个进程
pm2 start/stop/restart 服务名
pm2 logs 服务名 --lines 50
pm2 save
pm2 startup
```

### 已部署服务（端口）
| 端口 | 服务 | PM2 名 |
|:----:|------|--------|
| 3001 | 资金统计看板 | funds |
| 3007 | 话题摘要 | topic-summary |
| 3012 | 密码管理 | password-app |
| 3016 | 信息差分析 | info-gap |
| 3022 | 买卖点信号 | buy-sell-signals |
| 13456 | Claude 桥 | claude-bridge |
| — | 学习笔记 | learning-notes |
| — | 热搜趋势 | p2-hot-trend |

### Nginx 配置
```bash
# 配置文件位置
/etc/nginx/conf.d/web.conf        # 实际生效配置
/etc/nginx/sites-enabled/default  # 为空，不使用

# 重载
nginx -t && systemctl reload nginx

# 日志
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
```

### 静态文件部署
```bash
# 构建
npm run build

# 上传
tar czf /tmp/dist.tar.gz dist/
scp /tmp/dist.tar.gz ubuntu@106.53.70.187:/tmp/
ssh ubuntu@106.53.70.187 "sudo rm -rf /var/www/项目名/* && sudo tar xzf /tmp/dist.tar.gz -C /var/www/项目名/"

# 重载 Nginx
ssh ubuntu@106.53.70.187 "sudo nginx -t && sudo systemctl reload nginx"
```

### 静态页面目录
```
/var/www/html/          # 导航首页 + 静态页面
/var/www/rougelike/     # 像素 RPG 游戏
/var/www/task-monitor/  # 任务监控面板
/var/www/games/         # 小游戏（五子棋/飞行棋/贪吃蛇）
/var/www/notes/         # 学习笔记
/var/www/link-tree/     # 链路树地图
```

### 磁盘清理
```bash
ssh ubuntu@106.53.70.187 "sudo apt-get clean && sudo journalctl --vacuum-time=3d && df -h"
```

---

## 阿里云香港（中转代理）

### 连接
```bash
ssh root@8.217.216.15
```

### PM2 进程
```bash
pm2 list               # 3 个进程
pm2 logs rescue-api    # 查看救援 API 日志
pm2 restart rescue-api # 重启救援服务
```

### 代理服务
| 端口 | 服务 | 用途 |
|:----:|------|------|
| 19999 | Decodo HTTP 代理 | 境外 AI API 出口（Codex/Cursor） |
| 19922 | SSH 反向隧道 | 远程救援（HK→Mac） |
| 13389 | SOCKS5 | Gemini 等备用代理出口 |
| 3097 | rescue-api | 一键救援 HTTP API |

### 代理启动
```bash
# Decodo 代理（Mac 本地执行）
cd ~/Desktop/codex-projects
python3 simple-proxy.py &

# SSH SOCKS5（Mac 本地执行）
ssh -D 13389 -f -N root@8.217.216.15

# SSH 反向隧道（Mac 本地执行）
ssh -R 19922:localhost:22 -f -N root@8.217.216.15
```

### Nginx
```bash
nginx -t && systemctl reload nginx
```
仅作为代理路由，不托管主站。

### 磁盘清理
```bash
ssh root@8.217.216.15 "apt-get clean && journalctl --vacuum-time=3d && df -h"
```

---

## 域名 SSL 证书
- 域名：ssjsuperai.xyz → 腾讯云 106.53.70.187
- 证书：Certbot 自动管理
- 续期：`certbot renew --dry-run`（腾讯云执行）
- 注意：**不是**阿里云，阿里云不托管域名
