基于Nonebot2搭建QQ机器人(三)Linux端部署机器人
目錄
- 服務(wù)器選擇
- 服務(wù)器環(huán)境配置
- Ubuntu在服務(wù)器配置python
- 配置Nonebot2環(huán)境
- 環(huán)境配置
- 上傳項(xiàng)目文件
- 配置env文件
- 運(yùn)行bot.py
- go-cqhttp
- 下載go-cqhttp
- 配置go-cqhttp
- 對go-cqhttp進(jìn)行權(quán)限賦予。
- 運(yùn)行g(shù)o-cqhttp
- 修改配置文件config.yml
- 再次運(yùn)行g(shù)o-cqhttp
- 啟動機(jī)器人并保持后臺運(yùn)行
- 常用Linux命令
- 查看后臺進(jìn)程
- 搜索進(jìn)程
- 不掛斷啟動
- 強(qiáng)制結(jié)束進(jìn)程
- 啟動機(jī)器人
- X7系列漢化免費(fèi)版
通過前兩章的內(nèi)容,相信已經(jīng)可以編寫簡單的插件完成一些QQ機(jī)器人的功能了。但是由于是在自己電腦上運(yùn)行的,當(dāng)關(guān)閉go-cqhttp或者停止bot.py運(yùn)行時(shí),就會讓機(jī)器人停止工作。那么怎么樣才能夠讓機(jī)器人一直保持工作呢?
那就是將我們的代碼、go-cqhttp部署在服務(wù)器上,本篇將帶著大家一起在Linux服務(wù)器上部署自己的QQ機(jī)器人。
服務(wù)器選擇
目前市面上有很多類型的服務(wù)器,對于小白而言,推薦大家租用云服務(wù)器。
這里列出幾個(gè)購買云服務(wù)器的網(wǎng)站。
阿里云服務(wù)器:
https://www.aliyun.com/product/ecs?source=5176.11533457&userCode=ywqc0ubl
華為云服務(wù)器:
https://www.huaweicloud.com/product/ecs.html
百度云服務(wù)器:
https://cloud.baidu.com/product/bcc.html?track=navigation20200904
騰訊云服務(wù)器:
https://cloud.tencent.com/product/cvm
大家根據(jù)自己的經(jīng)濟(jì)能力選擇適合自己的云服務(wù)器(某寶可能會有優(yōu)惠)
我選擇的是騰訊云的2核4G的輕量云服務(wù)器。
服務(wù)器環(huán)境配置
購買云服務(wù)器后需要選擇相應(yīng)的操作系統(tǒng)。
我選擇的是Linux的Ubuntu系統(tǒng)。
Ubuntu在服務(wù)器配置python
如果選擇Ubuntu,參考下面一篇CSDN博主的文章內(nèi)容進(jìn)行配置。
服務(wù)器鏡像配置: 鏡像源配置:https://www.jianshu.com/p/d4525ca41a49 替換鏡像源的時(shí)候就是把原來的全部刪除替換自己的鏡像源 清華ubuntu鏡像源:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/服務(wù)器ubuntu的python配置: cd / # 就可以進(jìn)入根目錄 ls可以看到根目錄下的所有文件夾 cd home/ubuntu 1. sudo mkdir /usr/local/python3 # 創(chuàng)建安裝目錄 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文件夾下執(zhí)行 指定創(chuàng)建的目錄 6.sudo make 7.sudo make install #裝install 8.sudo apt install python3-pip #裝pip3 不能用pip 如果是centos服務(wù)器則: yum install python-pip重復(fù),再次編譯下: 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.zip14.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 添加環(huán)境變量:export PATH=/home/ubuntu/.local/bin類似vim編輯文檔 :wq 保存并退出 :wq!強(qiáng)制保存退出 ———————————————— 版權(quán)聲明:本文為CSDN博主「川川菜鳥」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/weixin_46211269/article/details/118167962配置Nonebot2環(huán)境
環(huán)境配置
Python環(huán)境安裝好了之后
Nonebot2在Linux和Windows下配置沒什么太大區(qū)別
可以參考第一篇Windows下的配置方法。
Window下的環(huán)境配置
注意一點(diǎn)是:
由于我們可以通過xftp上傳文件,所以就不需要 nb create創(chuàng)建項(xiàng)目了
依次安裝下列python包即可
上傳項(xiàng)目文件
使用XFTP直接上傳即可
文末有整套軟件的最新漢化免費(fèi)版本安裝教程。
我們以上一節(jié)的項(xiàng)目為例
把項(xiàng)目名為csdn的項(xiàng)目整體上傳。上傳后的文件如下圖:
這里需要刪除兩個(gè)文件,config.yml和go-cqhttp。
配置env文件
和Windows環(huán)境下配置大同小異
進(jìn)入項(xiàng)目文件夾,輸入ls -a查看所有文件
修改.env:
修改如下圖
修改.env.dev:
注意這里的8890為端口號,可以終端輸入ps -ef查看端口占用情況,只要端口號沒被占用就能用。
修改.env.prod:
運(yùn)行bot.py
輸入:
python3 bot.py如果運(yùn)行結(jié)果和下面一樣,就配置好了
go-cqhttp
下載go-cqhttp
go-cqhttp Github下載鏈接
這里選擇Linux系統(tǒng)安裝包,大家根據(jù)自己安裝習(xí)慣選擇合適的安裝包。
如果對Linux解壓不熟悉的可以跟著我這個(gè)方法做。
首先下載紅色箭頭指向的安裝包到Windows本地。
下載成功后得到一個(gè)deb壓縮文件,使用支持解壓deb文件的壓縮軟件進(jìn)行解壓。我使用的是7-zip,附上下載鏈接
7-zip解壓鏈接
解壓后進(jìn)入文件夾,一直點(diǎn)開,最后一個(gè)文件里面是一個(gè)名為go-cqhttp的文件。使用xftp把這個(gè)go-cqhttp文件上傳和我們項(xiàng)目的文件夾放到一起。如圖:
配置go-cqhttp
使用Xshell進(jìn)入go-cqhttp所在的目錄。
對go-cqhttp進(jìn)行權(quán)限賦予。
chmod 777 ./go-cqhttp如圖所示:
運(yùn)行g(shù)o-cqhttp
./go cq-http和Windows下一樣,選擇3 反向websocket通信
此時(shí)go-cqhttp所在目錄下自動生成config.yml配置文件。
修改配置文件config.yml
vim config.yml和Windows配置一樣,只需要修改uin和universal,
注意:把universal后面的改成 ws://127.0.0.1:8890/cqhttp/ws,這里的8890改成自己的端口號
再次運(yùn)行g(shù)o-cqhttp
輸入
./go-cqhttp運(yùn)行g(shù)ocq
登錄成功后如圖所示。
啟動機(jī)器人并保持后臺運(yùn)行
如果Nonebot2環(huán)境和go-cqhttp配置沒有問題,我們就可以啟動機(jī)器人了。
在這之前先列出幾個(gè)常用命令。
常用Linux命令
查看后臺進(jìn)程
ps -ef #查看后臺進(jìn)程通過這個(gè)命令我們可以看得到進(jìn)程運(yùn)行情況和進(jìn)程占用的PID
搜索進(jìn)程
ps -ef|grep go-cqhttp #ps -ef|grep+進(jìn)程名,查看指定進(jìn)程情況通過這個(gè)命令我們可以看得到指定的進(jìn)程運(yùn)行情況和進(jìn)程占用的PID
通常使用這個(gè)命令快速查看pid
不掛斷啟動
nohup ./go-cqhttp &通常我們正常運(yùn)行一個(gè)程序,當(dāng)關(guān)閉服務(wù)器連接時(shí)會自動掛斷,如果我們想讓這個(gè)程序不掛斷時(shí)可以使用這個(gè)指令。
強(qiáng)制結(jié)束進(jìn)程
配合ps -ef使用,當(dāng)我們想讓后臺某個(gè)進(jìn)程結(jié)束時(shí),先使用ps -ef查看該進(jìn)程的pid在使用kill 加上pid殺死進(jìn)程。
kill 542188啟動機(jī)器人
進(jìn)入bot.py所在的文件夾,不掛斷啟動bot.py文件
nohup python3 bot.py &如圖所示:
進(jìn)入go-cqhttp所在的文件夾,不掛斷啟動go-cqhttp文件
這時(shí)候機(jī)器人就成功在Linux上部署成功了
X7系列漢化免費(fèi)版
附上整套X7系列安裝包:
鏈接:https://pan.baidu.com/s/1uqt2fnp1dJlL8fW0iENzHA
提取碼:CR77
總結(jié)
以上是生活随笔為你收集整理的基于Nonebot2搭建QQ机器人(三)Linux端部署机器人的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试一口气说出Spring的声明式事务@
- 下一篇: java linux socket编程_