基于Nonebot2搭建QQ机器人(三)Linux端部署机器人

通过前两章的内容,相信已经可以编写简单的插件完成一些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在服务器配置python

如果选择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

配置Nonebot2环境

环境配置

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。
在这里插入图片描述

配置env文件

和Windows环境下配置大同小异
进入项目文件夹,输入ls -a查看所有文件

ls -a

在这里插入图片描述
修改.env:

vim .env

修改如下图
在这里插入图片描述
修改.env.dev:

vim .env.dev

注意这里的8890为端口号,可以终端输入ps -ef查看端口占用情况,只要端口号没被占用就能用。
在这里插入图片描述
修改.env.prod:

vim .env.prod

在这里插入图片描述

运行bot.py

输入:

python3 bot.py

如果运行结果和下面一样,就配置好了
在这里插入图片描述

go-cqhttp

下载go-cqhttp

go-cqhttp Github下载链接

这里选择Linux系统安装包,大家根据自己安装习惯选择合适的安装包。

如果对Linux解压不熟悉的可以跟着我这个方法做。

首先下载红色箭头指向的安装包到Windows本地。
在这里插入图片描述
下载成功后得到一个deb压缩文件,使用支持解压deb文件的压缩软件进行解压。我使用的是7-zip,附上下载链接
7-zip解压链接在这里插入图片描述
解压后进入文件夹,一直点开,最后一个文件里面是一个名为go-cqhttp的文件。在这里插入图片描述使用xftp把这个go-cqhttp文件上传和我们项目的文件夹放到一起。如图:

在这里插入图片描述

配置go-cqhttp

使用Xshell进入go-cqhttp所在的目录。
在这里插入图片描述

对go-cqhttp进行权限赋予。

chmod 777 ./go-cqhttp

如图所示:
在这里插入图片描述

运行go-cqhttp

./go cq-http

和Windows下一样,选择3 反向websocket通信
在这里插入图片描述
此时go-cqhttp所在目录下自动生成config.yml配置文件。
在这里插入图片描述

修改配置文件config.yml

vim config.yml

和Windows配置一样,只需要修改uin和universal,
在这里插入图片描述
注意:把universal后面的改成 ws://127.0.0.1:8890/cqhttp/ws,这里的8890改成自己的端口号
在这里插入图片描述

再次运行go-cqhttp

输入

./go-cqhttp

运行gocq
在这里插入图片描述
登录成功后如图所示。
在这里插入图片描述

启动机器人并保持后台运行

如果Nonebot2环境和go-cqhttp配置没有问题,我们就可以启动机器人了。
在这之前先列出几个常用命令。

常用Linux命令

查看后台进程

ps -ef  #查看后台进程

通过这个命令我们可以看得到进程运行情况和进程占用的PID
在这里插入图片描述

搜索进程

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系列汉化免费版

附上整套X7系列安装包:
链接:https://pan.baidu.com/s/1uqt2fnp1dJlL8fW0iENzHA
提取码:CR77

  • 10
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的CR7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值