Linux
Linux 目前支持从源码部署。我们默认你拥有 Linux 操作和 git 的基本知识。
1. 安装 nodejs 环境
由于机器人使用 JavaScript 开发,需要安装 nodejs 环境才能运行。 以 CentOS 系统为例:
yum install epel-release # 安装 epel 软件包
yum install nodejs # 安装 nodejs
node -v # 确认 nodejs 版本
npm -v # 确认 npm(nodejs 包管理器)版本
建议 nodejs 版本 >= 18,较低版本不保证运行成功,若版本过低可自行升级。
其他 Linux 发行版也可自行搜索教程安装。
2. 安装 yarn & 切换国内源
yarn 是替换 npm 的包管理器,相比 npm 更快些。
npm i yarn -g # 全局安装 yarn
yarn config set registry https://registry.npmmirror.com/ # 切换到国内源
3. 拉取代码 & 安装依赖
git clone https://github.com/paotuan/qqchannel-bot.git
cd qqchannel-bot # 进入项目目录
yarn install # 安装项目依赖
如果 GitHub 拉取慢,也可以使用 Gitee 镜像:https://gitee.com/ipaotuan/qqchannel-bot.git
4. 构建代码
先在项目根目录新建 .env
文件,包含如下内容:
WS_SERVER_ADDR=xxx.xxx.xxx.xxx # 替换为你机器的 IP 地址
WS_SERVER_PORT=4174 # 可选,后端 WebSocket 服务的端口号。默认 4174
WEB_PORT=4175 # 可选,如选择单体部署,将用作前端网页服务的端口号。默认 4175
随后开始构建:
yarn run build
构建产物会生成在 apps/dist
目录下。其中 client
目录包含前端代码,server
目录包含后端代码。
如需前后端分离部署,各自部署 server
和 client
文件夹即可。
如需单体部署,则继续看下面的步骤。
5. 单体部署
在 apps/dist
目录下默认包含了一个简单的 express 服务用于单体部署。可以按如下方式启动:
yarn global add pm2 # 全局安装 pm2(nodejs 的后台运行&监控程序)
yarn run start # 使用 pm2 后台执行
启动后就可以通过 [你的 IP 地址]:4175
访问到网页端了。(如果之前修改了网页服务端口号,这里也要改成对应的端口)
防火墙设置
服务端防火墙需同时开放端口 4174(后端 WebSocket 服务)和 4175(前端网页端口)。(如之前通过 .env
修改了端口,此处也对应修改。)
6. 版本升级步骤
以下均在项目根目录操作:
- 先通过 git 拉取最新代码
git pull origin master
- 确认是否引入了新的依赖,若有则自动安装
yarn
- 构建新的版本
yarn run build
- 停止旧版本的服务,并启动新版本服务
yarn run stop # 停止旧版本
yarn run start # 启动新版本
- 访问网页端
[你的 IP 地址]:4175
重新挂上机器人即可