在serv00中部署gptload

项目原地址:

https://github.com/tbphp/gpt-load

此项目是一个基于newapi改造的智能api轮询系统,具备负载均衡和报错重试的功能,在github上拥有2k个star。

由于serv00独特的freebsd二进制系统,不能像ubantu/dabian那样通过docker(compose)进行安装,需要采取二进制源码编译,基本方法如下:

克隆并进行构建:

git clone https://github.com/tbphp/gpt-load.git
cd gpt-load
go mod tidy

创建和修改配置:

cp .env.example .env
#随后使用nano/vim编辑器进行编辑.env文件
nano .env

主要是修改登录后台的认证key和放行的端口为在panel后台中放行的TCP端口(这里以6308为例):

在安装完npm,golang后启动程序,程序需要构建一段时间,大约7分钟:

make run

随后再浏览器中输入网址http://sx.serv00.com:6083 ,其中sx需要根据serv00的版本号进行调整,6083也要根据自己所设定的放行端口进行修改。登陆界面如图所示:

输入预设的认证密码之后即可食用。

使用PM2进行进程保活

由于serv00虚拟机的特殊性,会不定时关闭某些进程,因此这里采用pm2的方式进行gpt-load的保活.

首先创建一个用于存放全局包的目录:


mkdir ~/.npm-global
# 在 .npm-global 文件夹内,创建 bin 和 lib 两个子文件夹
mkdir ~/.npm-global/bin
mkdir ~/.npm-global/lib

设置npm的全局安装路径:

npm config set prefix '~/.npm-global'

修改系统环境变量,由于其shell可能是csh或者sh,因此需要对两种配置都进行修改:

编辑profile文件:


nano ~/.profile

在文件的最后加上两行系统环境路径:

export PATH=~/.npm-global/bin:$PATH

随后修改./cshrc文件:

nano ./cshrc

在配置文件的最后加上一行:

set path = (~/.npm-global/bin $path)

执行以下命令,使环境变量重新生效:

source ~/.profile
source ~/.cshrc

在目录下安装pm2:

npm install pm2 -g

随后再cd到gpt-load文件夹下,找到main.go文件,在同级文件夹下使用go语言编译总程序:

go build -o gpt-load-server .

当再次ls时,目录下出现gpt-load-server时表示编译成功。随后使用pm2进行保活:

pm2 start ./gpt-load-server --name gpt-load