YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台
yapi的仓库地址: https://github.com/ymfe/yapi
本人在内网机器不允许访问外网的情况下在内网部署一套yapi, 这里记录下成功的流程.
所需准备的是一台能访问外网的机器(我这里是安装了一个ubuntu16.04
的虚拟机, 内网机器操作系统是RedHat6.9
), 通过这台外网机器完成所有需要网络的操作. 另外外网机器需要gcc 4.8+
(因为在安装yapi
依赖时需要build node-sass
), 没有gcc
或者版本较低需要自行安装升级.
下载nodejs
和mongodb
.
通过有网络的机器进行下载, 这里一定要下载编译好的压缩文件.
在nodejs下载页中选择对应平台的Binaries
下载. 因为nodejs
在内外网机器都需要使用, 如果有必要的话可能需要下载两份. 我这里因为都是linux平台所以只下载一份, 版本是node-v8.11.1-linux-x64.tar.xz
.
在mongodb下载页选择适合内网机器的版本, 我这里用的是mongodb-linux-x86_64-3.6.4.tgz
.
在外网机器安装nodejs
解压nodejs
并放到想要的目录下(我这里直接把解压的内容放在当前目录的node
文件夹下, 也可以放在其他目录但请确保读写权限).
1 | tar xvJf node-v8.11.1-linux-x64.tar.xz |
将nodejs
加入环境变量
1 | vim ~/.bashrc |
在其中加入一行
1 | export PATH=<node文件夹的路径>/bin:$PATH |
启用环境变量并验证nodejs
安装成功
1 | source ~/.bashrc |
如果能正确显示版本信息说明安装成功.
在外网机器获取yapi
源码并安装依赖
使用git
获取yapi
源码, 如果没有git
命令请按照对应平台的安装方法安装git
.
创建一个新文件夹yapi
, 使用clone
将yapi
源码放入vendors
中:
1 | mkdir yapi |
我这里还安装了pm2
1 | npm install -S pm2 |
将创建的yapi
文件夹打成压缩包得到yapi.tar.gz
(其目录下有config.json
和vendors
)
1 | tar -czf yapi.tar.gz yapi |
至此, 所有需要外部网络的操作已经完成, 可以进行内网部署.
内网安装的准备工作
将nodejs
,mongodb
和上面打包的yapi
三个压缩包传到内网机器上, 并按照之前的流程安装nodejs
.
内网安装mongodb
解压mongodb-linux-x86_64-3.6.4.tgz
并放入mongodb
文件夹中
1 | tar -zxvf mongodb-linux-x86_64-3.6.4.tgz |
把mongodb
放入环境变量中, 修改~/.bashrc
, 加入以下内容
1 | export PATH=<mongodb文件夹的路径>/bin:$PATH |
验证安装
1 | source ~/.bashrc |
创建dbdata/db
文件夹和dblog
文件夹(请自行确保这些文件夹的读写权限)
1 | mkdir -p dbdata/db |
启动mongodb
服务
1 | sudo ./mongodb/bin/mongod --fork --dbpath ./dbdata --logpath ./dblog/log |
启动yapi
解压yapi.tar.gz
1 | tar -zxvf yapi.tar.gz |
按需要修改yapi/config.json
中的相关配置(例如管理员账号等)
初始化数据库:1
2cd ./yapi/vendors
npm run install-server
使用pm2启动1
npx pm2 start ./server/app.js
启动完成后即可尝试访问yapi
看是否成功, 具体地址要根据内网机器的ip和在config.json
中配置的端口号
如果要关闭yapi
服务, 可以使用
1 | npx pm2 stop all |