前言

“泱泱华夏五千年,悠悠长河耀星汉”

自古以来, 文字 都是最能传递感情、传递想法的
而在华夏这 五千年 的历史长河中,汉字已存在了 近四千年
在这 四千年 里,由这 一个个汉字 又构成了 一个个句子
而这些句子的意义 不仅限于 让别人明白你的意思, 更在于 可以 在茫茫生活中创造意义,带来感动

一个 偶然的机会 我了解到了 「一言网」
依稀记得当时还在写 易语言 用到了这个接口
再后来就是 万物皆可一言 ,给自己 所有网站 都放上了一言
后来因为 请求限制 等种种原因 我开始想 能不能搭建一个属于自己的“一言网” 但一直没有类似源码
终于 在萌生这个想法 很久以后 一言网 将自己的源码开源在了 GitHub
(开源精神万岁
由于官方开源的包是基于 NodeJS
出于对 NodeJS 的不熟悉,在开源后我并没有第一时间着手搭建,而是在网上搜索相关搭建教程
很可惜, 并没有 类似的文章
于是也就有了我的这篇文章

前期准备

在搭建前我们需要准备一些 依赖 和相关 工具 不然按照本教程搭建就会出现一些类似下面一样 奇怪的问题
由于未安装 vim 导致的报错

如果你有事先安装好宝塔

友情提示:由于这些操作涉及软件的安装,可能会用到系统目录,所以在宝塔开启了系统加固的同学在执行以下操作前请务必关闭你的宝塔系统加固以确保安装时不会报什么奇奇怪怪的错误

那么恭喜你,你将会省去很多不必要的麻烦
你只需要进入宝塔的 软件商店 下载安装 RedisPM2管理器 5.2 (注意 不是Node.js版本管理器 ),这个管理器已经内置了 Node.JS/NPM/NVM/PM2 已经包含了我们所需要用到的 大部分依赖 ,所以 不需要 再进行安装,请安装完上述软件后跳转至 “如果你没有安装宝塔面板” 查看 “安装yarn” 及以后的内容
在安装完软件后请前往该软件的“版本管理”选项卡确认当前Node版本是否>=16.x,如果没有,请切换Node版本为>=16.x以免在安装过程中遇到问题,这里我以 Node.JS 16.17.1 为例

查看 Node.JS 版本

如果你没有安装宝塔面板

安装Node.JS和NPM

这里需要注意一点 一言网 官方的文档有提到 Node.JS的版本需要>=16.x 所以 不要 下成低版本的 Node.JS

这里我以 CentOS 7Node.JS 16.x 为例
首先我们需要指定我们所需要下载的 Node.JS 版本

curl --silent --location https://rpm.nodesource.com/setup_16.x

然后通过 yum 安装 Node.JS (这一步 不同系统有所不同

sudo yum -y install nodejs

然后通过 查看 NodeJS 版本 确定已成功安装

node -v

确认 Node 已安装成功
同时 因为 npmNode.JS并存 的 所以在安装 Node.JSnpm 也会被 一并安装 ,如果 不放心 可以通过

npm -v

来确认 npm成功被安装

安装外部依赖Redis

这一步就比较简单了 得益于yum无需编译安装 直接执行以下命令即可完成这一步

yum install redis

安装yarn

由于 hitokoto 项目 使用 yarn v2 且目前 不支持 NPM 、 CNPM 、 PNPM 管理包依赖 所以 使用宝塔的同学可视化 管理 目前 可以洗洗睡了
yarn的安装比较简单 但容易 因为镜像源 卡住
所以在 安装yarn时卡住的同学 可是尝试更换镜像源
首先先介绍如何安装 yarn 这里我们使用 npm

npm i -g yarn

如果在这个步骤时卡住,可以使用下面的命令切换镜像源
华为云镜像源

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

淘宝镜像源

npm config set registry https://registry.npm.taobao.org

安装完yarn后 输入 yarn 来确定是否正确安装

安装vim

由于需要 修改配置文件针对不同的环境 ,我们还需要一个 文本编辑器vim 就是不错的选择,因此本文使用 vim 进行示例
vim 同样可以通过 yum 进行安装,十分方便

yum install vim

正式部署

拉取镜像

至此, 所有 需要用到的 软件依赖 已全部安装完毕
那么接下来就可以正式进入 hitokoto部署安装 环节了
首先我们需要挑选一个 合适的目录 放置我们的程序
这里我选择/opt/hitokoto/
在这个目录下 拉取官方的程序新建一个目录

git clone https://github.com/hitokoto-osc/hitokoto-api.git hitokoto_dir

跟在 被clone网址后面的 就是 新建目录的目录名

安装依赖

首先进入仓库

cd hitokoto_dir

被打开目录的名称 根据 自己的设置 来定
然后使用 yarn 安装依赖

yarn workspaces focus --production

安装完成后如图所示
依赖安装完成

复制配置/修改配置

复制依赖

将配置 复制到指定目录下

cp config.example.yml ./data/config.yml

随后就可以 修改配置文件
打开 配置文件 所在的目录并 查看是否有对应配置文件

cd /data/
ls

打开目录并查看文件
发现有对应配置文件 config.yml

修改配置

通过 vim 打开配置文件根据自己的需要进行修改 原文件的注释 已经写得很清楚了 ,这里 不再赘述 ,值得注意的一点是 如果使用CDN,源站地址请 带上端口 ,否则将 无法正常回源

vim config.yml

正在编辑的配置文件

大功告成 启动

在确认配置信息按需填写没有错误后就可以直接启动了
我们

yarn start

然后静待奇迹的发生
出现如下提示没有报错 即表示 运行成功
运行成功

访问测试

搭建完成后,访问 ip+端口 即可 获取一言
访问测试
如需 使用域名访问 ,请类比 使用宝塔面板Docker部署Uptime-Kuma自托管状态监控 配置反向代理

写在最后

同时,我也搭建了一个 公益一言API 网站
地址:https://hitokoto.uerr.cn
网站源站为 大陆湖北机 同时 接入CDN加速 不限制QPS ,保证了各位的 访问速度使用体验
秉承开源精神 我申明本站会一直以 纯公益 不盈利 的形式做下去 同时也欢迎大家的调用
(刷新再来这里看看(⁠人⁠⁠´⁠∀⁠`⁠)⁠。⁠゚⁠+)


——该一言由本站搭建 由Sh1n3zZCloud提供加速服务

最后修改:2023 年 09 月 09 日
如果我的文章能够帮助到你,你的赞赏是对我最大的鼓励