Centos7部署Yapi
# Centos7 部署 Yapi
# 简介
Yapi 是去哪儿团队开发的一个接口管理平台,比较适合团队合作开发,各种 mock 数据都比较方便,而且支持 postman、swagger 等数据的导入,前端在开发过程中使用非常方便,目前已经有很多大型企业在使用,非常推荐!!
# 配置环境
# nodejs
nodejs 不需使用最新版本,之前博主安装了 nodejs16.x,在部署时各种报错,经过各种搜索查询发现是 nodejs 版本过高导致的,因为该项目已经很久没有维护了,可能各种环境要求没有跟上,所以为了避免踩坑,请使用 nodejs7.6 之上版本即可,此处推荐使用 node12.xx 版本,博主使用的是 nodejs12.22.12 版本。
# mongodb
Yapi 中数据库配置使用的是 mongodb,博主之前安装使用了 MySQL,但在部署的最后一步时一直报错,最后经过搜索之前发现 Yapi 需要使用的数据库时 mongodb,Yapi 对 mongodb 的版本未作限制,只需要可以正常连接上即可。
# git(可选)
git 的安装与否并没有限制,如不安装可直接在 GitHub 下载 Yapi 压缩包(可在 tags 中选择自己想要安装的版本),上传至服务器并在服务器解压即可,Yapi GitHub 地址 (opens new window)。
# 安装 nodejs
# 清除 yum 缓存
sudo yum clean all
# 检查是否安装 nodejs,若安装了高版本或较低版本请卸载
# 检查nodejs版本
node -v
# 卸载低版本nodejs
yum remove nodejs npm -y
2
3
4
5
6
7
# 获取 nodejs12.x 版本资源
curl --silent --location https://rpm.nodesource.com/setup_12.x | bash
# 安装 nodejs
sudo yum install -y nodejs
# 查看 nodejs 是否安装成功及其版本号
# 查看 nodejs 版本
node -v
# 查看 npm 版本
npm -v
2
3
4
5
6
安装成功之后会出现如下图所示
# 安装 并配置 mongodb
# 配置.repo 文件,生成 mongodb 源
在 /etc/yum.repos.d 目录下创建 repo 文件,如果 mongodb-enterprise.repo 此目录中有以前安装的 MongoDB 的文件,则应将其删除。使用 mongodb-enterprise-6.0.repo 上面的文件安装 MongoDB 6.0。
vi /etc/yum.repos.d/mongodb-enterprise-6.0.repo
1
2添加如下配置信息
[mongodb-enterprise-6.0] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/6.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
1
2
3
4
5
6配置信息详解
name # 名称 baseurl # 获得下载的路径 gpkcheck=1 # 表示对从这个源下载的rpm包进行校验; enable=1 # 表示启用这个源 gpgkey # gpg验证
1
2
3
4
5
# 安装 mongodb
sudo yum install -y mongodb-enterprise
# 验证安装结果
rpm -qa |grep mongodb
rpm -ql mongodb-org-server
2
3
# 启动 mongodb 服务
启动 mongodb 服务
sudo systemctl start mongod.service
1mongodb 的默认启动端口为 27017,查看其是否开启
netstat -natp | grep 27017
1检查 mongodb 数据库进程是否存在
ps -aux | grep mongod
1进入 mongodb 数据库
mongo
1设置 mongodb 开机自启动
sudo systemctl enable mongod # 或使用下方命令 chkconfig mongod on
1
2
3
4
5查看 mongodb 版本(注意,此步很重要,在 Yapi 配置中需要用到)
# 先使用mongo命令进入mongo mongo # 查看数据库版本 db.version(); # 查看所有数据库 show dbs; # 选择或新建数据库(test_yapi为yapi连接的数据库,可根据自己需要更改数据库名) use test_yapi # 为test_yapi数据库创建管理员(如果mongodb开启身份验证,此处的用户名和密码在下方配置yapi时需要用到) db.createUser({ user:"admin", pwd:"123456", roles:["readWrite", "dbAdmin"] })
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18修改 mongodb.conf 文件,启用身份验证
# 打开 /etc/mongod.conf vi /etc/mongod.conf # 在改文件中添加两行代码 security: authorization: enabled # disable or enabled # 之后重启mongodb服务 sudo service mongod restart
1
2
3
4
5
6
7
8其他常用命令
# 重启 mongodb sudo systemctl restart mongod # 关闭mongodb sudo service mongod stop # 卸载MongoDB sudo yum erase $(rpm -qa | grep mongodb-org) # 删除日志文件 sudo rm -r /var/log/mongodb # 删除数据文件 sudo rm -r /var/lib/mongo
1
2
3
4
5
6
7
8
9
10
# 安装 git(可选)
# 安装 git
yum install -y git
# 验证安装版本
git --version
# 部署 Yapi
# 修改代理配置,支持 websocket
yapi 需要使用 websocket,请配置代理支持 websocket
如使用 nginx 代理,则只需要在 nginx 的 location 中添加如下代码即可。
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
2
3
4
5
注意,请部署为 http 站点,因为 yapi 官方说明:部署成 https 会导致测试功能在请求 http 站点时文件上传功能异常。
# 可视化部署
# 安装脚手架并部署 yapi
# 创建目录用于存放yapi安装文件
mkdir yapi
# 进入安装目录
cd yapi
# 执行yapi的脚手架
npm install -g yapi-cli --registry https://registry.npm.taobao.org
# 启动可视化服务
yapi server
2
3
4
5
6
7
8
9
10
11
12
13
14
15
然后通过服务器 ip+端口号 9090(例如:http://127.0.0.1:9090),在浏览器中打开图形化界面。
部署成功后会在可视化界面即控制台中出现初始化管理员账号和密码。
然后在控制台中执行下方命令,即可使用对应的 ip+端口访问(例如:http://127.0.0.1:3030)。
node vendors/server/app.js
注意,此时的 yapi 是通过控制台直接启动的,当控制台关闭时服务就会被关闭。
# 后台启动 yapi
# 安装pm2服务(注意,npm官方镜像安装此依赖较慢且可能出错,推荐使用淘宝镜像源)
npm install -g pm2 --registry https://registry.npmmirror.com/
# 利用 pm2 在后台启动 yapi(注:此处博主的yapi安装目录为 /opt/yapi)
pm2 start /opt/yapi/vendors/server/app.js
# 利用 pm2 停止 yapi
pm2 stop /opt/yapi/vendors/server/app.js
2
3
4
5
6
7
8
9
10
11
# 命令行部署(当服务器无法直接连接 GitHub 下载文件时或可视化部署失败时)
# 创建目录用于存放yapi安装文件
mkdir yapi
# 进入安装目录
cd yapi
# 从 GitHub 上下载压缩包后上传到服务器(GitHub地址:https://github.com/YMFE/yapi)
# 将上传到服务器上的压缩包解压
unzip /opt/yapi/yapi-1.9.2.zip -d vendors
# 复制 config.json 文件
cp vendors/config_example.json ./config.json
# 修改config.json文件内容(配置访问端口、管理员邮箱、mongodb数据库信息等)
vim config.json
# 进入到解压后的目录
cd vendors
# 安装生产环境依赖
npm install --production --registry https://registry.npmmirror.com/
# 运行初始化程序,用于根据 config.json 文件配置yapi,运行后会在控制台输出管理员账号和密码。(注意,需要在解压后的vendors目录下执行操作)
npm run install-server
# 启动服务(在终端启动,如需在后台启动,请参考可视化部署下的后台启动yapi)
node server/app.js
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 部署成功访问 yapi
部署成功后可使用部署服务器的 ip+配置的端口访问(例如:http://127.0.0.1:3000)
打开 yapi 页面后使用刚才配置的管理员账号及密码登录。(登录成功后请及时修改管理员账号的初始化密码)
部署成功后访问页面如下:
如需要禁止注册等一些其他操作,请修改 config.json 配置文件