通过前两章的内容,相信已经可以编写简单的插件完成一些QQ机器人的功能了。但是由于是在自己电脑上运行的,当关闭go-cqhttp或者停止bot.py运行时,就会让机器人停止工作。那么怎么样才能够让机器人一直保持工作呢?
那就是将我们的代码、go-cqhttp部署在服务器上,本篇将带着大家一起在Linux服务器上部署自己的QQ机器人。
目前市面上有很多类型的服务器,对于小白而言,推荐大家租用云服务器。
这里列出几个购买云服务器的网站。
阿里云服务器:
https://www.aliyun.com/product/ecs?source=5176.11533457&userCode=ywqc0ubl
华为云服务器:
https://www.huaweicloud.com/product/ecs.html
百度云服务器:
https://cloud.baidu.com/product/bcc.html?track=navigation20200904
腾讯云服务器:
https://cloud.tencent.com/product/cvm
大家根据自己的经济能力选择适合自己的云服务器(某宝可能会有优惠)
我选择的是腾讯云的2核4G的轻量云服务器。
购买云服务器后需要选择相应的操作系统。
我选择的是Linux的Ubuntu系统。
如果选择Ubuntu,参考下面一篇CSDN博主的文章内容进行配置。
服务器镜像配置:
镜像源配置:https://www.jianshu.com/p/d4525ca41a49 替换镜像源的时候就是把原来的全部删除替换自己的镜像源
清华ubuntu镜像源:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
服务器ubuntu的python配置:
cd / # 就可以进入根目录
ls可以看到根目录下的所有文件夹
cd home/ubuntu
1. sudo mkdir /usr/local/python3 # 创建安装目录
2. wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz # 可以在https://www.python.org/ftp/python/下任意选自己想装的版本,注意是tgz
3.tar -xzvf Python-3.9.6.tgz #解压
4.cd Python-3.9.6
5.sudo ./configure --prefix=/usr/local/python3 # 注意在Python-3.9.6文件夹下执行 指定创建的目录
6.sudo make
7.sudo make install #装install
8.sudo apt install python3-pip #装pip3 不能用pip
如果是centos服务器则: yum install python-pip
重复,再次编译下:
9.cd Python-3.9.6
10.sudo ./configure --prefix=/usr/local/python3
11.sudo make
12.sudo make install
#安装setuptool
13.wget https://files.pythonhosted.org/packages/a6/5b/f399fcffb9128d642387133dc3aa9bb81f127b949cd4d9f63e5602ad1d71/setuptools-39.1.0.zip
14.unzip setuptools-39.1.0.zip
15. cd setuptools-39.1.0
#安装pip
17.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
18.python get-pip.py
下载模块用:pip3 install xxx
添加环境变量:export PATH=/home/ubuntu/.local/bin类似
vim编辑文档
:wq 保存并退出
:wq!强制保存退出
————————————————
版权声明:本文为CSDN博主「川川菜鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46211269/article/details/118167962
Python环境安装好了之后
Nonebot2在Linux和Windows下配置没什么太大区别
可以参考第一篇Windows下的配置方法。
Window下的环境配置
注意一点是:
由于我们可以通过xftp上传文件,所以就不需要 nb create创建项目了
依次安装下列python包即可
pip3 install nb-cli
pip3 install pydantic loguru pygtrie httpx python-dotenv uvicorn fastapi requests selenium aiocqhttp ffmpeg aiohttp -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install nonebot2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install nonebot-plugin-apscheduler nonebot-adapter-cqhttp -i https://pypi.tuna.tsinghua.edu.cn/simple/
使用XFTP直接上传即可
文末有整套软件的最新汉化免费版本安装教程。
我们以上一节的项目为例
把项目名为csdn的项目整体上传。上传后的文件如下图:
这里需要删除两个文件,config.yml和go-cqhttp。
和Windows环境下配置大同小异
进入项目文件夹,输入ls -a查看所有文件
ls -a
修改.env:
vim .env
vim .env.dev
注意这里的8890为端口号,可以终端输入ps -ef查看端口占用情况,只要端口号没被占用就能用。
修改.env.prod:
vim .env.prod
输入:
python3 bot.py
go-cqhttp Github下载链接
这里选择Linux系统安装包,大家根据自己安装习惯选择合适的安装包。
如果对Linux解压不熟悉的可以跟着我这个方法做。
首先下载红色箭头指向的安装包到Windows本地。
下载成功后得到一个deb压缩文件,使用支持解压deb文件的压缩软件进行解压。我使用的是7-zip,附上下载链接
7-zip解压链接
解压后进入文件夹,一直点开,最后一个文件里面是一个名为go-cqhttp的文件。使用xftp把这个go-cqhttp文件上传和我们项目的文件夹放到一起。如图:
chmod 777 ./go-cqhttp
如图所示:
./go cq-http
和Windows下一样,选择3 反向websocket通信
此时go-cqhttp所在目录下自动生成config.yml配置文件。
vim config.yml
和Windows配置一样,只需要修改uin和universal,
注意:把universal后面的改成 ws://127.0.0.1:8890/cqhttp/ws,这里的8890改成自己的端口号
输入
./go-cqhttp
如果Nonebot2环境和go-cqhttp配置没有问题,我们就可以启动机器人了。
在这之前先列出几个常用命令。
ps -ef #查看后台进程
ps -ef|grep go-cqhttp #ps -ef|grep+进程名,查看指定进程情况
通过这个命令我们可以看得到指定的进程运行情况和进程占用的PID
通常使用这个命令快速查看pid
nohup ./go-cqhttp &
通常我们正常运行一个程序,当关闭服务器连接时会自动挂断,如果我们想让这个程序不挂断时可以使用这个指令。
配合ps -ef使用,当我们想让后台某个进程结束时,先使用ps -ef查看该进程的pid在使用kill 加上pid杀死进程。
kill 542188
进入bot.py所在的文件夹,不挂断启动bot.py文件
nohup python3 bot.py &
如图所示:
进入go-cqhttp所在的文件夹,不挂断启动go-cqhttp文件
这时候机器人就成功在Linux上部署成功了
附上整套X7系列安装包:
链接:https://pan.baidu.com/s/1uqt2fnp1dJlL8fW0iENzHA
提取码:CR77