2018-08-22 13:27:27 +08:00
|
|
|
|
# 部署
|
2018-12-22 23:59:13 +08:00
|
|
|
|
|
2019-01-26 22:21:51 +08:00
|
|
|
|
## 基本部署
|
|
|
|
|
|
2018-12-22 23:59:13 +08:00
|
|
|
|
NoneBot 所基于的 python-aiocqhttp 库使用的 web 框架是 Quart,因此 NoneBot 的部署方法和 Quart 一致([Deploying Quart](https://pgjones.gitlab.io/quart/deployment.html))。
|
|
|
|
|
|
2018-12-27 20:23:45 +08:00
|
|
|
|
Quart 官方建议使用 Hypercorn 来部署,这需要一个 ASGI app 对象,在 NoneBot 中,可使用 `nonebot.get_bot().asgi` 获得 ASGI app 对象。
|
2018-12-22 23:59:13 +08:00
|
|
|
|
|
|
|
|
|
具体地,通常在项目根目录下创建一个 `run.py` 文件如下:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
|
2018-12-27 20:23:45 +08:00
|
|
|
|
import nonebot
|
2018-12-22 23:59:13 +08:00
|
|
|
|
|
|
|
|
|
import config
|
|
|
|
|
|
2018-12-27 20:23:45 +08:00
|
|
|
|
nonebot.init(config)
|
|
|
|
|
bot = nonebot.get_bot()
|
2018-12-22 23:59:13 +08:00
|
|
|
|
app = bot.asgi
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
bot.run()
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
然后使用下面命令部署:
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
hypercorn run:app
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
另外,NoneBot 配置文件的 `DEBUG` 项默认为 `True`,在生产环境部署时请注意修改为 `False` 以提高性能。
|
2019-01-26 22:21:51 +08:00
|
|
|
|
|
|
|
|
|
## 使用 Docker Compose 与 酷Q 同时部署
|