YAPI是由由哪哪儿网大前端技术中心(YMFE)团队设计用于进行api接口管理的软件产品,其拥有权限管理,可视化接口管理,易用的模拟服务器,自动化测试,数据导入,插件机制,计在为开发,产品,测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建,发布,维护API。

下面主要来具体阐述如何构建一个雅皮平台软件,参考文档https://yapi.ymfe.org/devops/index.html

   关闭防火墙,SELinux

   1.安装部署nodejs
      1.1下载官方安装包并解压,我下载的是最新版的:https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-x64.tar.xz

wget -O node-v10.14.2-linux-x64.tar.xz https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-x64.tar.xz
tar -xf node-v10.14.2-linux-x64.tar.xz

      1.2部署环境

mv node-v10.14.2-linux-x64.tar.xz /usr/local/node/
echo 'export NODE_HOME=/usr/local/node' >> /etc/profile
echo 'export PATH=$NODE_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

      1.3检查暗转情况,看是否提示两个的版本号信息

node -v ; npm -v

   2.安装部署mongodb

cat >  /etc/yum.repos.d/mongodb.repo  << EOF
[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
EOF
yum clean all ; yum repolist
yum install -y mongodb-org

# 启动服务
systemctl restart mongod
systemctl enable mongod

      配置数据库,使用命令mongo进行操作

use admin
#创建dba用户
db.createUser(
   {
        user: "dba",
        pwd: "DbaPassword",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
   }
)

#创建yapi数据库
use yapi

# 给yapi数据库添加test1用户(yapi默认的账号密码),权限为读写
db.createUser(
     {
          user: "test1",
          pwd: "test1",
          roles: [
             { role: "readWrite", db: "yapi" }  
          ]
     }
)

   3.安装git

yum install -y git

# 检查是否安装成功
git --version

   部署yapi

      4.1创建工作目录

makdir yapi ; cd yapi

      4.2下载github中的yapi文件(在工作目录下)

git clone https://github.com/YMFE/yapi.git vendors

      4.3修改配置信息(具体的邮件部署和ldap登录部署就不详细讲解了),配置文件是/ yapi工作目录/vendors/config_example.json

{
  "port": "3000",
  "adminAccount": "admin@admin.com",    # 管理员账号
  "db": {
    "servername": "127.0.0.1",    # mongodb服务器的主机名
    "DATABASE": "yapi",        # 数据库中yapi数据存放的数据库名
    "port": 27017,            # 数据库的连接节点信息
    "user": "test",            # 连接数据库的用户信息
    "pass": "test",            # 连接数据库的密码
    "authSource": ""
  }
}

      4.4拷贝配置文件至指定位置,并安装(在工作目录下)

# 这个操作很关键,必须在工作目录下执行,不然一定失败
cp vendors/config_example.json config.json
cd vendors/ ; npm install --production --registry https://registry.npm.taobao.org

      4.5运行启动服务(在供应商目录下)

npm run install-server 
npm install -S pm2 && npx pm2 start ./server/app.js

   *。然后就可以前往3000端口进行使用了


在搭建过程中,可能出现各种各样的问题,我把我遇到的分享出来

1.出现提示:代码ELIFECYCLE

   故障猜测:安装意外中断导致有破损文件

   解决方案:删除所有历史安装内容,再重新用安装

rm -rf node_modules
rm -f package-lock.json
npm cache clear --force

2.出现提示:stack错误:EACCES:权限被拒绝,mkdir'/root/yapi/vendors/node_modules/dtrace-provider/.node-gyp'

   故障猜测:yapi权限不足,不能进入指定目录
   解决方案:
      1。在npm install命令后面加上--unsafe-perm = true --allow-root
      2.看错误信息,直接手动mkdir -p创建
      3。在一个所有用户都能进入的目录下常见一个目录,并且这个目录任何用户可以进入

3.出现提示:peerinvalid Peer mongoose-simpledb@4.0.3想要
   mongoose@~3.8.18故障猜测:依赖未能解决
   解决方案:把需要的包加到Package.json的依赖关系键值内

4.安装后我曾出现登录进去报告java运行中某个类不存在,我考虑到这个可能是是我下载的包有问题,所以我删除了yapi工作目录,重新装了一遍就好了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐