99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# 部署指南
|
||
|
||
把 Bot 扔到服务器上长期运行,比在自己电脑上跑要多几个步骤。
|
||
|
||
## 1. 环境准备
|
||
|
||
### a. 安装 Python 3.14
|
||
|
||
别用太旧的版本,也别用最新的,就用 3.14。怎么装我就不废话了,自己想办法。
|
||
|
||
### b. 安装依赖
|
||
|
||
```bash
|
||
# 切换到项目目录
|
||
cd /path/to/your/bot
|
||
|
||
# 创建虚拟环境 (强烈建议)
|
||
python3.14 -m venv venv
|
||
source venv/bin/activate
|
||
|
||
# 安装依赖
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### c. 编译核心模块 (可选,但强烈建议)
|
||
|
||
为了极致性能,把核心模块编译成 C 扩展。
|
||
|
||
```bash
|
||
python setup_mypyc.py build_ext --inplace
|
||
```
|
||
|
||
## 2. 使用进程管理器
|
||
|
||
你想直接 `python main.py` 然后关掉 SSH?那机器人也跟着停了。必须用进程管理器来守护它。
|
||
|
||
这里推荐用 `pm2`,虽然是 Node.js 的工具,但管 Python 程序一样好用。
|
||
|
||
### a. 安装 pm2
|
||
|
||
```bash
|
||
# 你需要先装 Node.js 和 npm
|
||
npm install pm2 -g
|
||
```
|
||
|
||
### b. 启动 Bot
|
||
|
||
在项目根目录,创建一个 `ecosystem.config.js` 文件:
|
||
|
||
```javascript
|
||
module.exports = {
|
||
apps : [{
|
||
name : "neobot",
|
||
script : "main.py",
|
||
interpreter: "/path/to/your/bot/venv/bin/python", // 指定虚拟环境里的 python
|
||
max_memory_restart: "500M", // 内存超过 500M 自动重启
|
||
env: {
|
||
"PYTHONUNBUFFERED": "1" // 禁用 python 输出缓冲,日志能实时看
|
||
}
|
||
}]
|
||
}
|
||
```
|
||
|
||
然后启动:
|
||
|
||
```bash
|
||
pm2 start ecosystem.config.js
|
||
```
|
||
|
||
### c. 常用 pm2 命令
|
||
|
||
```bash
|
||
pm2 list # 查看所有进程状态
|
||
pm2 logs neobot # 查看 neobot 的实时日志
|
||
pm2 restart neobot# 重启 neobot
|
||
pm2 stop neobot # 停止 neobot
|
||
pm2 delete neobot # 删除 neobot
|
||
```
|
||
|
||
## 3. 配置 NapCatQQ
|
||
|
||
最后一步,修改 NapCatQQ 的配置文件,让它把消息推送到你的服务器上。
|
||
|
||
找到 NapCatQQ 的 `config/onebot11.json` 文件,修改 `ws_reverse_servers` 部分:
|
||
|
||
```json
|
||
"ws_reverse_servers": [
|
||
{
|
||
"url": "ws://你的服务器IP:8080/onebot/v11/ws",
|
||
"access_token": "你的访问令牌"
|
||
}
|
||
]
|
||
```
|
||
|
||
* `url`: 改成你服务器的 IP 和 `main.py` 里配置的端口。
|
||
* `access_token`: 如果你在 `main.py` 里设置了 `ACCESS_TOKEN`,这里要保持一致。
|
||
|
||
改完后重启 NapCatQQ,Bot 应该就能收到消息了。
|