yapi接口管理平台离线安装记录

YApi 旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API

                       ---摘自官方说明文档yapi官网

工作中经常会需要测试接口的功能,开发同学又没有提供可供参考的接口文档,所以混用了fiddler、postman、Jmeter多种工具来测试接口。无意中发现了这个YApi的平台,还是开源免费的,所以拿来部在服务器上试用下。本文记录了Yapi的内网部署方式。

配套软件

nodejs v10.15.3    https://nodejs.org/en/download/

mongodb v4.0.6    https://www.mongodb.com/download-center/community

centos6.10 64bit

环境搭建

 安装nodejs   这里为了方便加了个软链接到/usr/local/bin目录 没有配环境变量

tar xvf node-v10.15.3-linux-x64.tar.xz   ls
cd node-v10.15.3-linux-x64
mv node-v10.15.3-linux-x64 nodejs
ln -s /root/nodejs/bin/npm /usr/local/bin
ln -s /root/nodejs/bin/node /usr/local/bin

node -v  npm 命令能用就行

安装mongodb

mkdir mongodb
tar zxvf mongodb-linux-x86_64-4.0.6.tgz -C mongodb
mv mongodb-linux-x86_64-4.0.6/ /usr/local/mongodb
vi /etc/profile
# 增加mongodb环境变量
export PATH=$PATH:/usr/local/mongodb/bin
source /etc/profile

2.检查mongo --version 可用 输出版本信息

3.配置mongodb.cnf配置文件信息

# 指定数据存储目录 需要提前创建
dbpath=/data/mongo/
# 指定日志文件
logpath=/data/mongo/mongo.log   
# 日志追加写    
logappend=true 
# 创建后台子进程
fork=true
# 指定端口号
port=27017

4. mongod -f /usr/local/mongodb/mongdb.cnf 启动mongodbserver  正常情况下 mongodb已经启动了

5. 可用mongo 命令连接本机的mongodb 默认情况下是没有用户名密码登录的

可用通过 show dbs 命令查看当前所有数据库

6. 创建用户名/密码

> use admin
switched to db admin
> db.createUser(
...   {
...     user: "root",
...     pwd: "password",
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...   }
... )
Successfully added user: {
    "user" : "root",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

 最后一步yapi安装

在外网端下载yapi源码  (打包依赖node.js环境)

mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors
cp vendors/config_example.json ./config.json
cd vendors
npm install --production

将yapi整个打包成 zip 压缩包 导入服务器

unzip 解压

修改config.json文件中mongodb的配置,访问端口默认3000

[root@k8s-db test]# cat config.json 
{
  "port": "3000",
  "adminAccount": "[email protected]",
  "db": {
    "servername": "127.0.0.1",   
    "DATABASE": "yapi",
    "port": 27017,
    "user": "root",
    "pass": "password",
    "authSource": "admin"
  },

初始化数据库 (这里检查mongodb已运行 并配置admin 用户名/密码)

cd ./yapi/vendors
npm run install-server

提示初始化完成

[root@k8s-db vendors]# npm run install-server

> [email protected] install-server /root/test/vendors
>  node server/install.js

log: mongodb load success...
初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"

在vendors 目录 执行 node server/app.js 启动yapi server 如正常情况可看到

 

[root@k8s-db vendors]# node server/app.js 
log: 服务已启动,请打开下面链接访问: 
http://127.0.0.1:3000/
log: mongodb load success...

打开浏览器访问ip:3000 就可以使用yapi接口管理平台了

默认的管理员为[email protected]  密码ymfe.org  默认注册也是开放的。。。

也可以配置ldap方式认证登录 关闭注册  、参考官方说明文档。

补充

发现node启动的方式 只能运行在终端前台,只要xshell  ssh超时后,进程就挂了 。。。

改用pm2的进程管理方式  

  1. 在可联网的机器上npm install pm2 -g 
  2. 打包node的全局node_modules 目录下的pm2文件包 传到服务器 node安装路径/ node_modules目录下
  3. ln -s 创建软链接  如 ln -s /root/node_modules/pm2/bin/pm2  /usr/local/bin/pm2
  4. 命令行执行pm2 正常输出就表示可用了
  5. pm2 start  app.js  启动应用 

关于pm2  

https://www.npmjs.com/package/pm2  官网链接 

https://github.com/Unitech/PM2/  项目路径

 

使用体验:可以方便的管理接口,提供了多种mock数据的方法,在明确接口字段输入输出情况下,可以方便前端同学mock接口调试,加速开发。对于测试同学来说,也可以作为接口自动化的一种辅助手段。还支持postman接口导入,接口文档多种格式导出,目前看来还是不错的。

你可能感兴趣的:(运维)