161 lines
5.6 KiB
Markdown
161 lines
5.6 KiB
Markdown
---
|
||
description: Soul 服务器操作与部署。部署脚本、SSH、宝塔、环境变量。Use when 部署、服务器操作、SSH、宝塔、devloy、master、Cunkebao 部署.
|
||
---
|
||
# SKILL - 服务器操作与部署(安全工程师)
|
||
|
||
> Soul 项目部署脚本索引与服务器操作规范。**密码等敏感信息仅通过环境变量或脚本内 get_cfg() 读取,不在此文档明文列出。**
|
||
|
||
## 何时使用
|
||
|
||
| 触发词 | 动作 |
|
||
|--------|------|
|
||
| **帮我部署一版全项目到线上** | **先部署 API**:`cd soul-api && python master.py`,**执行完毕后再部署管理端**:`cd soul-admin && python master.py`,均为正式环境,顺序执行不并行 |
|
||
| **帮我部署api到线上** | **直接执行 `cd soul-api && python master.py`** |
|
||
| **管理端帮我部署到xx环境** | **语义化解析 xx,直接执行**:含「正式」「线上」「生产」→ `cd soul-admin && python master.py`;含「测试」「dev」→ `cd soul-admin && python deploy.py` |
|
||
| 部署、服务器操作、SSH | 按本 Skill 选择对应脚本 |
|
||
| 宝塔、devloy、master | 查阅部署配置与命令 |
|
||
| Cunkebao 部署 | 使用 Cunkebao 专用脚本 |
|
||
|
||
---
|
||
|
||
## 一、服务器与配置来源
|
||
|
||
### 1.1 配置读取优先级
|
||
|
||
各部署脚本统一约定:
|
||
|
||
1. **环境变量**(推荐):`DEPLOY_HOST`、`DEPLOY_USER`、`DEPLOY_PASSWORD`、`DEPLOY_SSH_PORT`、`BT_API_KEY` 等
|
||
2. **脚本内 get_cfg()**:无环境变量时使用脚本默认值
|
||
3. **master.py**:soul-api 的 miner_guard_check、remove_xmrig_self 等从 `soul-api/master.py` 的 `get_cfg()` 读取
|
||
|
||
### 1.2 服务器索引(配置来源,不含明文密码)
|
||
|
||
| 项目 | 主机 | 端口 | 用户 | 配置来源 |
|
||
|------|------|------|------|----------|
|
||
| soul-api 正式 | 43.139.27.93 | 22022 | root | master.py / 环境变量 |
|
||
| soul-api 测试 | 43.139.27.93 | 22022 | root | devloy.py / 环境变量 |
|
||
| soul-admin 正式 | 43.139.27.93 | 22022 | root | soul-admin/master.py / 环境变量 |
|
||
| soul-admin 测试 | 43.139.27.93 | 22022 | root | soul-admin/deploy.py / 环境变量 |
|
||
| Cunkebao | 42.194.245.239 | 6523 | yongpxu | Cunkebao/miner_guard_install.py 内嵌 |
|
||
|
||
**密码**:从 `DEPLOY_PASSWORD` 或各脚本 `get_cfg()` 默认值读取,**不在此文档记录**。
|
||
|
||
---
|
||
|
||
## 二、部署脚本索引
|
||
|
||
### 2.1 soul-api
|
||
|
||
| 脚本 | 用途 | 命令示例 |
|
||
|------|------|----------|
|
||
| `soul-api/devloy.py` | 测试环境部署(binary/docker/runner) | `python devloy.py --mode runner` |
|
||
| `soul-api/master.py` | 正式环境部署 | `python master.py` |
|
||
| `soul-api/deploy/runner-init.sh` | Runner 容器首次初始化 | `bash deploy/runner-init.sh` |
|
||
| `soul-api/deploy/docker-deploy-remote.sh` | 服务器上执行蓝绿切换 | 由 devloy 自动调用 |
|
||
| `soul-api/deploy/deploy-runner-remote.sh` | Runner 模式部署包拷贝 | 由 devloy 自动调用 |
|
||
|
||
**devloy 模式**:
|
||
|
||
- `--mode runner`:容器内红蓝切换,宝塔固定 9001
|
||
- `--mode docker`:宿主机蓝绿,需 Nginx 切换
|
||
- `--mode binary`:Go 二进制 + 宝塔 soulDev
|
||
|
||
### 2.2 soul-admin
|
||
|
||
| 脚本 | 用途 | 命令示例 |
|
||
|------|------|----------|
|
||
| `soul-admin/master.py` | 正式环境部署(soul-admin,pnpm build) | `python master.py` |
|
||
| `soul-admin/deploy.py` | 测试环境部署(soul-admin-dev,pnpm build:dev) | `python deploy.py` |
|
||
|
||
### 2.3 挖矿防护
|
||
|
||
| 脚本 | 用途 | 命令示例 |
|
||
|------|------|----------|
|
||
| `soul-api/miner_guard_install.py` | 安装挖矿守护(soul 服务器) | `python miner_guard_install.py --yes` |
|
||
| `Cunkebao/miner_guard_install.py` | 安装挖矿守护(Cunkebao) | `cd Cunkebao && python miner_guard_install.py --yes` |
|
||
|
||
---
|
||
|
||
## 三、环境变量一览
|
||
|
||
| 变量 | 说明 | 默认来源 |
|
||
|------|------|----------|
|
||
| DEPLOY_HOST | SSH 主机 | 各脚本 get_cfg() |
|
||
| DEPLOY_USER | SSH 用户 | root |
|
||
| DEPLOY_PASSWORD | SSH 密码 | 脚本默认 / 需设置 |
|
||
| DEPLOY_SSH_KEY | SSH 私钥路径 | 空 |
|
||
| DEPLOY_SSH_PORT | SSH 端口 | 22022 |
|
||
| BT_PANEL_URL | 宝塔面板 URL | https://{host}:9988 |
|
||
| BT_API_KEY | 宝塔 API 密钥 | 脚本内默认 |
|
||
| BT_GO_PROJECT_NAME | 宝塔 Go 项目名 | soulDev / soulApi |
|
||
| DEPLOY_DOCKER_PATH | 部署目录 | /www/wwwroot/self/soul-dev |
|
||
| DEPLOY_NGINX_CONF | Nginx 配置路径 | 空(可自动探测) |
|
||
|
||
---
|
||
|
||
## 四、常用操作
|
||
|
||
### 4.1 SSH 连接(示例,密码从环境变量读取)
|
||
|
||
```powershell
|
||
# 设置环境变量后
|
||
$env:DEPLOY_HOST="43.139.27.93"
|
||
$env:DEPLOY_PASSWORD="<从安全存储读取>"
|
||
ssh -p 22022 root@43.139.27.93
|
||
```
|
||
|
||
### 4.2 部署 soul-api 测试环境(Runner 模式)
|
||
|
||
```powershell
|
||
cd e:\Gongsi\Mycontent\soul-api
|
||
python devloy.py --mode runner
|
||
```
|
||
|
||
### 4.3 部署 soul-api 正式环境
|
||
|
||
```powershell
|
||
cd e:\Gongsi\Mycontent\soul-api
|
||
python master.py
|
||
```
|
||
|
||
### 4.4 部署 soul-admin 正式环境
|
||
|
||
```powershell
|
||
cd e:\Gongsi\Mycontent\soul-admin
|
||
python master.py
|
||
```
|
||
|
||
### 4.4.1 全项目部署到线上(API → 管理端,顺序执行)
|
||
|
||
```powershell
|
||
# 1. 先部署 API
|
||
cd e:\Gongsi\Mycontent\soul-api
|
||
python master.py
|
||
|
||
# 2. API 执行完毕后再部署管理端
|
||
cd e:\Gongsi\Mycontent\soul-admin
|
||
python master.py
|
||
```
|
||
|
||
### 4.5 部署 soul-admin 测试环境
|
||
|
||
```powershell
|
||
cd e:\Gongsi\Mycontent\soul-admin
|
||
python deploy.py
|
||
```
|
||
|
||
### 4.6 检查挖矿守护
|
||
|
||
```powershell
|
||
cd e:\Gongsi\Mycontent\soul-api
|
||
python miner_guard_check.py
|
||
```
|
||
|
||
---
|
||
|
||
## 五、安全提醒
|
||
|
||
- **不要将密码提交到 Git**:master.py、devloy.py 等中的默认密码应迁移到环境变量
|
||
- **宝塔 API 密钥**:BT_API_KEY 若泄露需在宝塔面板重新生成
|
||
- **敏感文件**:`.env`、`master.py` 等应加入 `.gitignore` 或使用 `.env.example` 模板
|