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 |