目录
一、序言
为了团队成员更好地合作,准备搭建一个接口管理平台,之前一直用的是YApi
,这次自己准备手把手部署一个Yapi
实例。YApi
是一个前端项目,因为一直做后台开发,所以在部署时踩了一些小坑,特此记录一下。
二、安装Node
Yapi是一个Node项目,在这里遇到了第一个大坑就是版本问题,中间试过Node v16和v14版本,发现都不能用,最后发现安装Node v12版本是可以的。
在这里强烈建议使用nvm来安装Node,nvm是Node的一个版本管理器,可以自由切换Node版本,前端不像后端,不同项目有时适用的Node版本不同,版本不对,心态崩溃。
1、安装nvm
Linux上直接运行安装脚本即可,如下:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 或者 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
具体地址请参考,nvm安装和更新说明。
备注:安装可能有点小慢,耐心等待即可。
2、使用兼容的Node版本
(1) 列出所有可安装的Node版本
nvm ls-remote
(2) 安装适合yapi的Node版本,这里选择v12.22.12
nvm install v12.22.12
(3) 查看当前安装的Node版本
nvm list
-> v12.22.12 v14.20.0 default -> v12.22.12 iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v14.20.0) (default) stable -> 14.20 (-> v14.20.0) (default) lts/* -> lts/gallium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.12 lts/fermium -> v14.20.0 lts/gallium -> v16.16.0 (-> N/A)
nvm use default 或者 nvm use v12.22.12
node -v
二、安装MongoDB
1、下载MongoDB
Yapi
数据存储选择的是Mongo DB
,所以在初始化Yapi前我们先得部署一个Mongo实例。
这里我安装的Mongo DB版本是4.4.15,直接运行以下命令即可:
wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-v4.4-latest.tgz
然后再解压:
tar xzf mongodb-linux-x86_64-rhel70-v4.4-latest.tgz
2、配置MongoDB
(1) MongoDB解压目录下新建相关目录
mkdir conf data logs
备注:conf为配置文件目录,data为数据目录,logs为日志目录。
(2) conf目录下新增配置文件mongod.conf
touch mongod.conf
配置文件内容如下:
systemLog: destination: file path: "/mongodb-4.4.15/logs/mongodb.log" # 日志目录 logAppend: true net: bindIp: 127.0.0.1 # 绑定的ip port: 27017 # 服务端口 unixDomainSocket: enabled: false # 如果开启,下面的pathPrefix配置得加上,不然会写在/tmp目录下 pathPrefix: "/mongodb-4.4.15/conf" storage: dbPath: "/mongodb-4.4.15/data" # 数据目录
(3) 启动Mongo DB
进入到安装MongoDB的bin目录下,运行如下命令即可。
./mongod -f /mongodb-4.4.15/conf/mongod.conf &
(4) 连接测试
直接在bin目录下运行如下命令即可。
./mongo
三、安装YApi
# 安装yapi npm install -g yapi-cli --registry https://registry.npm.taobao.org # 启动服务 yapi server
点击开始部署后,会弹出一个界面,里面展示的是应用部署的日志信息,同时shell终端也会出现同样的日志信息。
部署成功后,会提示如何启动服务,执行如下命令即可:
node /yapi/vendors/server/app.js
备注:我的部署路径为/opt/appl/yapi
,软链接为yapi -> /opt/appl/yapi
,上面这种启动方式为前台启动,按Ctrl + C后服务会终止。关于如何在后台启动Node.js
应用,请往后看。
四、安装PM2管理Node服务
PM2
是Node.js
应用的后台进程管理器,内置负载均衡器,可以实现无停机加载,帮助我们更好的管理和维护后台应用。
除了管理Node.js
应用,它还能管理其它任何可执行的脚本和二进制文件,如下:
$ pm2 start bashscript.sh $ pm2 start python-app.py --watch $ pm2 start binary-file -- --port 1520
(1) 启动yapi服务
pm2 start /yapi/vendors/server/app.js --name yapi --log /yapi/log/yapi.log
--name
:指定应用名。--log
:指定日志文件。
备注:pm2管理的应用会在后台启动。
(2) 查看服务状态
pm2 status
(3) 终止服务
pm2 stop /yapi/vendors/server/app.js
五、登录YApi后台
备注:初始密码可以在个人中心修改。