简介
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
YApi 的一些客户:
去哪儿,携程,艺龙,京东,唯品支付,链家网,快手,便利蜂
YApi 是去哪儿公司的产品,以上摘自去哪儿YApi官网,下边是我搭建过程中的记录:
环境要求
nodejs(7.6+)
mongodb(2.6+)
安装这2个,YApi官网没有介绍,需求自己去摸索,我的安装过程:
安装nodejs
参考文档:http://blog.csdn.net/jonatha_n/article/details/75271050
注意必须是7.6以上版本,我第一次安装的版本比较低,没成功.
在这个地方http://nodejs.org/dist/v8.0.0/找到你要安装的版本,复制下载地址,我要安装的是v8,其地址是
http://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-s390x.tar.gz
我的服务器是centos系统,操作起来:
cd /usr/local/
wget http://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-s390x.tar.gz
tar zxvf node-v8.0.0-linux-s390x.tar.gz
重命名为node
mv node-v8.1.4-linux-x64 node
配置环境变量
vim /etc/profile
添加:
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
生效:
source /etc/profile
使用命令查看版本,出现相应版本号则表示成功
node -v
npm -v
**注意:
有的系统需要使用
sudo node -v才能执行**
mongdb安装
参考:http://blog.csdn.net/zhuchuangang/article/details/51202752
vi /etc/yum.repos.d/mongodb-org-3.2.repo
repo文件内容如下:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
安装所有的mongodb组件:
yum install -y mongodb-org
启动:
service mongod start
[root@CENTSVR247 vendors]# mongo
> use admin #切换到admin数据库
switched to db admin
#创建dba用户
> db.createUser(
... ... {
... ... user: "dba",
... ... pwd: "dba",
... ... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... ... }
... ... )
#创建yapi数据库
> use yapi
switched to db yapi
给yapi数据库添加test1用户,权限为读写
> db.createUser(
... ... {
... ... user: "test1",
... ... pwd: "test1",
... ... roles: [
... ... { role: "readWrite", db: "yapi" }
... ... ]
... ... }
... ... )
安装YApi
官网安装说明:http://yapi.qunar.com/devops.html
[root@CENTSVR247 local]# pwd
/usr/local
[root@CENTSVR247 local]# mkdir yapi
[root@CENTSVR247 local]# cd yapi
[root@CENTSVR247 yapi]git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录
[root@CENTSVR247 yapi]cp vendors/config_example.json ./config.json //复制完成后请修改相关配置,注意config.json中可以配置端口及mongdb相关的数据库及账号密码,参考上面的安装mongdb的步骤
[root@CENTSVR247 yapi]cd vendors
[root@CENTSVR247 vendors]sudo npm install –production –registry https://registry.npm.taobao.org
[root@CENTSVR247 vendors]# sudo npm run install-server
yapi@1.3.1 install-server /usr/local/yapi/vendors
node server/install.js
log: mongodb load success…
初始化管理员账号成功,账号名:”admin@admin.com”,密码:”ymfe.org”
[root@CENTSVR247 vendors]# sudo node server/app.js
load websocket…
log: the server is start at port 3000
log: mongodb load success…
启动方式优化
以上启动的方式,如果关闭SecureCRT窗口,那么node的服务就停止了,如何让node服务在后台运行呢?
使用pm2 管理 node 服务器启动,停止及后台运行
pm2使用介绍:http://imweb.io/topic/57c8cbb27f226f687b365636
安装pm2:
linux命令行中执行:
[root@CENTSVR247 vendors]npm install -g pm2
启动:
[root@CENTSVR247 vendors]# pm2 start server/app.js
[PM2] Starting /usr/local/yapi/vendors/server/app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ app │ 0 │ fork │ 24282 │ online │ 0 │ 0s │ 1% │ 12.3 MB │ root │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
这样node就在后台运行了,即使关闭了SecureCRT窗口,服务还在运行中