一言接口服务
实战:docker部署一言接口服务-2024.8.17(测试成功)
目录
[toc]
版权声明
本着开源共享、共同 学习的精神:
本文是在 博主Hyde 文章:《docker部署一言接口服务》https://hydoc.netlify.app/docs/Blog/tutorial/Ruyu-Blog/hitokoto 基础上增加了自己实践过程的一些细节,转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢~
背景
为什么要折腾这个呢?
因为最近在部署ruyu-blog,用到了这个一言接口,体验还不错。
官网接口有每分钟qps限制,有时会得不到想要的结果。因此我这里自己进行部署。
简介
什么是一言接口服务
官网
https://developer.hitokoto.cn/
环境
docker环境
centos7.x机器
源码
链接:https://pan.baidu.com/s/1jd8IGC76Av9qdiE7l6U5nA?pwd=tbfd
提取码:tbfd
2024.8.17-实战:docker部署一言接口服务-2024.8.17(测试成功)
docker save hitokoto/api |gzip > hitokoto.tar.gz #74M
docker save redis:6.0.8 |gzip > redis.6.0.8.tar.gz #36M
1、部署
一言官方提供了各种部署方式,自己选一个,这里使用 Docker
部署
- 创建数据目录
cd ~
#创建hitokoto目录
mkdir -p hitokoto
#进入hitokoto目录
cd hitokoto
- 创建「一言」的配置文件
vim config.yml
填写config.yml的配置
自己本次配置:
name: 'hitokoto' # 服务名称,例如:hitokoto [必填!]
url: 'http://192.168.1.100:8000' # 服务地址,例如:https://v1.hitokoto.cn [必填!]
api_name: 'demo_api_name' # 服务表示,例如:cd-01-demo [必填!]
server: # 配置 HTTP 服务的信息
host: hitokoto_api # 监听的地址,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: '8000' # 监听的端口 [必填!]
compress_body: true # 是否使用 GZIP 压缩
redis: # 配置 Redis
host: hitokoto_db # Redis 主机名,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: 6379 # Redis 端口 [必填!]
password: '输入你的密码' # Redis 密码 [必填!]
database: 0 # Redis 数据库索引,通常使用 0 号数据库
sentences_ab_switcher: # 本节是服务 AB 异步更新的配置,这是获取语句库的远程地址,除非有特殊需求,通常不需要修改保持默认!
a: 1 # a 状态对应的 redis 数据库
b: 2 # b 状态对应的 redis 数据库
remote_sentences_url: https://cdn.jsdelivr.net/gh/hitokoto-osc/sentences-bundle@latest/ # 语句库地址 ,通常默认即可。如果您想使用您自己打包部署的语句库,您可以修改此项
参考:
name: 'hitokoto' # 服务名称,例如:hitokoto [必填!]
url: '您的IP:8000' # 服务地址,例如:https://v1.hitokoto.cn [必填!]
api_name: 'demo_api_name' # 服务表示,例如:cd-01-demo [必填!]
server: # 配置 HTTP 服务的信息
host: hitokoto_api # 监听的地址,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: '8000' # 监听的端口 [必填!]
compress_body: true # 是否使用 GZIP 压缩
redis: # 配置 Redis
host: hitokoto_db # Redis 主机名,因为我们采用 docker-compose 启动,因此设置为 service 名称即可 [必填!]
port: 6379 # Redis 端口 [必填!]
password: '' # Redis 密码 [必填!]
database: 0 # Redis 数据库索引,通常使用 0 号数据库
sentences_ab_switcher: # 本节是服务 AB 异步更新的配置,这是获取语句库的远程地址,除非有特殊需求,通常不需要修改保持默认!
a: 1 # a 状态对应的 redis 数据库
b: 2 # b 状态对应的 redis 数据库
remote_sentences_url: https://cdn.jsdelivr.net/gh/hitokoto-osc/sentences-bundle@latest/ # 语句库地址,通常默认即可。如果您想使用您自己打包部署的语句库,您可以修改此项
- 创建
docker-compose.yml
vim docker-compose.yml
version: "3.8" # Docker Compose 文件的版本
services:
# Redis 服务
hitokoto_db:
image: redis:6.0.8 # 使用 Redis 6.0.8 镜像
# 可以添加更多 Redis 配置项,例如环境变量、持久化等
restart: always
# Hitokoto API 服务
hitokoto_api:
image: hitokoto/api # 使用 Hitokoto API 镜像
restart: always
ports:
- 8000:8000 # 将容器的 8000 端口映射到主机的 8000 端口
depends_on:
- hitokoto_db # 确保 hitokoto_api 在 hitokoto_db 启动后启动
volumes:
- ./config.yml:/usr/src/app/data/config.yml:ro # 将主机的 config.yml 文件挂载到容器中的指定路径,并以只读模式挂载
# 可以添加更多配置项,例如环境变量、启动命令等
- 运行一言容器
docker-compose up -d
- 记得设置开机自启动哦
参考:《Linux 系统设置开机自动运行脚本的方法》https://wiki.onedayxyy.cn/docs/linux-KaiJiZiQiShell
2、测试
浏览器输入ip+8000端口是否成功返回
自己现象:
3、给ruyu-blog博客配置一言jei'kou
最后在 ruyu-blog\blog-frontend\kuailemao-blog.env.development或者.env.production配置文件中填写您的ip+端口
# 开发环境配置
NODE_ENV = development
...
# 自己部署的一言接口,如果不填写会默认使用官网的接口,官网接口有每分钟qps限制,有时会得不到想要的结果
VITE_YIYAN_API = 'http://您的IP:8000/'
自己配置:
cd /root/ruyu-blog/blog-frontend/kuailemao-blog
默认配置:
我们来配置下.env.production
:
vim .env.production
# 生产环境配置
NODE_ENV = production
# 博客代理
VITE_APP_BASE_API = '/api'
# 后台域名
VITE_SERVE=''
# 前台域名
VITE_FRONTEND_URL = ''
# 音乐代理地址
VITE_MUSIC_BASE_API = '/wapi'
# 音乐后台
VITE_MUSIC_SERVE=''
# # 第三方开源集成的音乐前端地址,如果不配置上面菜单栏就不会出现音乐选项
VITE_MUSIC_FRONTEND_URL = ''
# 自己部署的一言接口,如果不填写会默认使用官网的接口,官网接口有每分钟qps限制,有时会得不到想要的结果
VITE_YIYAN_API = 'http://192.168.1.100:8000/'
- 重新构建测试
#重新构建dist
cd /root/ruyu-blog/blog-frontend/kuailemao-blog/
rm -rf dist
pnpm install
pnpm build
#删除老容器和老镜像
docker rm -f blog-qt
#docker rmi -f blog-qt
#构建新镜像和启动新容器
docker build . -t blog-qt-v1.4.2-v2-2024.8.17
docker run --name blog-qt -d -p 80:80 blog-qt-v1.4.2-v2-2024.8.17
docker ps
##
- 验证
参考
提示
可选,ruyu-blog原作者官网的一言接口有qps限制,想使用流畅一点就自己部署一个
「一言」官方部署文档 :https://developer.hitokoto.cn/sentence/deploy.html
「一言」官网:https://hitokoto.cn/
在线 API 地址:https://v1.hitokoto.cn/
API 文档:[https://developer.hitokoto.cn/]
- docker部署
https://developer.hitokoto.cn/sentence/deploy.html
关于我
我的博客主旨:
- 排版美观,语言精炼;
- 文档即手册,步骤明细,拒绝埋坑,提供源码;
- 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
🍀 微信二维码
x2675263825 (舍得), qq:2675263825。
🍀 微信公众号
《云原生架构师实战》
🍀 个人主页:
🍀 知识库:
🍀 博客:
🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421
🍀 知乎
https://www.zhihu.com/people/foryouone
往期推荐
QQ群
玩转Typora+Docusuaurus+起 始页
交流群:(欢迎小伙伴一起探讨有趣的IT技术,来完成一些漂亮的项目)
我的开源项目:
https://wiki.onedayxyy.cn/docs/OpenSource
- typora皮肤
https://wiki.onedayxyy.cn/docs/typora
- 起始页
- 知识库
- 博客
- 家庭相册
最后
好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!