one-api是一款OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。new-api或者chat-api前端美化版都是基于one-api二开优化,开源代码下载后二开修改后如何编译,很多会员说出一期编译教程,这些系统都是基于GO语言开发的,开源代码修改后如何编译说实话我也一直没细细研究,总觉得docker安装更新也方便,一般没必要折腾,但问题来了想修改些细节之类的就难倒一层人,今天把整个系统编译了体验了下与大家一起分享。
目前有很多利用现在很多开源系统都需要在go环境,本地安装依赖总有各种各样问题,在服务器上安装go语言环境直接编译前后端调试更方便,原来安装过环境总是有问题,今天哈与大家分享下全新安装go环境过程,主要针对在宝塔下环境变量配置 在编译使用前先在服务器上安装GO语言环境 https://www.ttbobo.com/7633.html
所需要环境:go1.22.0 以上+mysql +redis
这里以安装go1.24.0后为例
一、# 构建前端(管理端)在子目录web-admin进入终端执行
cd web-admin
npm install
这时候如果提示安装依赖有错误可以把npm install 换成执行下面换源命令会正常
npm install --registry=https://registry.npmmirror.com
执行完后打包
npm run build
打包稍等会会执行完成 /web-admin/build目录下文件即是刚才编译后的用户前端
二、# 构建前端(C端)在子目录web-user进入终端执行
npm install
这时候如果提示安装依赖有错误可以把npm install 换成执行下面换源命令会正常
npm install --registry=https://registry.npmmirror.com
执行完后打包
npm run build
打包稍等会会执行完成 /web-user/build目录下文件即是刚才编译后的用户前端
方法与上面一致,区别在于不同目录下执行
三、# 构建后端(前提GO语言环境配置好)
go version 可查看下版本,如果提示打不到对应上方文章配置好环境
回到根目录进入终端执行
go mod download
go build -ldflags "-s -w" -o chat-api
整个项目编译完成把build目录下文件弄出来相当于一个完整的编译版
项目运行启动
chmod u+x chat-api
.env //设置环境变量 放在同一目录下
./chat-api --port 3006 --log-dir ./logs
如果是修改或者二开文件后对照上述步聚重编译
重启 Go 服务器 go run main.go
修改.env文件,添加下面的三个
有密码
REDIS_CONN_STRING="redis://default:pw@localhost:6379"
密码为空时
REDIS_CONN_STRING="redis://default@localhost:6379"
#配置mysql数据将会写到mysql中
SQL_DSN="chatapi:bBtfrLHARiPjbPHb@tcp(localhost:3306)/chatapi"
SYNC_FREQUENCY=60
线上启动方法:
编译后相当一个PM2项目,可以使用 pm2 启动
在项目目录生成启动文件 pm2 init simple,之后会生成 ecosystem.config.js 配置文件,修改为以下内容
module.exports = {
apps : [{
name : "chatapi",
script : "./chat-api --port 3006 --log-dir ./logs",
watch: true
}]
}
启动:pm2 start ecosystem.config.js
停止:pm2 stop ecosystem.config.js
这样整项目就正常跑起来了,哪里不顺眼可对照改哪里再重编译
评论(0)