前言

    因为最近换了新公司,前后端对接中没有没有使用任何接口文档系统,直接都是丢个txt或者word文件,为了提升开发效率,尝试了使用YApi进行接口文档管理。

    YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。支持权限控制、可视化接口管理、mock接口、自动化测试、数据导入、插件机制等功能。同时支持内网自己部署,项目由去哪儿网大前端技术中心维护,使用了Koa + mongoose框架开发,不管是部署还是配置方面对前端很友好,那么接下来开整吧!

环境准备

    因为YApi是基于node开发,数据存储在mongodb数据库,因此在安装之前需要在服务器安装node和mondodb。

mongoDB安装

mv mongodb-linux-x86_64-ubuntu2004-4.4.5/ mongodb
  • 将mongodb文件夹移动到/usr/local
mv mongodb /usr/local
  • 添加环境变量
sudo vim /etc/profile
  • 添加以下内容并保存
export PATH=/usr/local/mongodb/bin:$PATH
  • 使修改生效

    source /etc/profile
  • 创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限
# 数据存储目录
sudo mkdir -p /var/lib/mongo
# 日志文件目录
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongo     # 设置权限
sudo chown `whoami` /var/log/mongodb   # 设置权限
  • 在/usr/local/mongodb/bin下面增加配置文件
# 数据文件存放目录
dbpath = /var/lib/mongo
# 日志文件存放目录
logpath = /var/log/mongodb/mongodb.log
#端口
port = 27017
#是否认证,后续会改成true
auth = false
#远程连接要指定ip 不然无法连接。0.0.0.0不限制ip访问,并开启对应端口
bind_ip = 0.0.0.0

nodejs安装

    这里我使用的是压缩包的方式安装,其实使用ubuntu本身的命令安装会更方便,如下:

安装nodejs,安装完成通过node -v查看是否安装成功
apt-get install nodejs
安装npm,安装完成通过npm -v查看是否安装成功
apt-get install npm
安装pm2,安装完成通过pm2 -v查看是否安装成功
sudo npm install -g pm2

    因为使用了压缩包的方式,后面装了npm、pm2、n的时候还需要配置软链接,所以不建议大家使用压缩包方式安装。

  • 下载nodejs安装包,下载地址:点我直接下载
  • 下载后在服务器解压:

    tar -xvf node-v14.16.1-linux-x64.tar.xz
  • 解压后重命名文件夹:

    mv node-v14.16.1-linux-x64 nodejs
  • 将nodejs文件夹移动到/usr/local

    mv nodejs /usr/local
  • 添加软链接

    ln -s /usr/local/nodejs/bin/node /usr/local/bin
    ln -s /usr/local/nodejs/bin/npm /usr/local/bin
  • 查看是否安装成功

    node -v
    npm -v

    image-20210421100502215

  • 安装pm2与n进行管理

    npm install -g pm2
    npm install -g n
  • 添加软链接

    ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin
    ln -s /usr/local/nodejs/bin/n /usr/local/bin
  • 查看是否安装成功

    n -V
    pm2 -v
  • 安装成功
    image-20210421101841365

安装node的时候不要安装版本太高,因为后续安装yapi时候node版本太高导致报错了,因此安装10.x左右的版本就行。

启动mongodb

启动mongodb,进入usr/local/mongodb/bin执行以下命令,--fork指的是在后台运行,可以先不加,等后面都配置好了再进行启动即可。

./mongod -f mongodb.conf --fork
  • 配置密码登陆

执行mongo命令进去shell,执行以下命令创建一个管理员用户

1、use admin
2、db.createUser({user:"admin", pwd: "adminpassword", roles: [{role: "userAdminAnyDatabase", db: "admin"}]})
# 用户名为admin,密码为adminpassword,针对admin数据库创建
3、db.auth('admin','adminpassword')  # 验证是否创建成功

这样则表示创建成功

image-20210421113832766

  • 在配置文件开启权限认证,打开/usr/local/mongodb/bin/mongodb.conf文件将auth设置为true
  • 关闭mongodb服务,并重新开启,就可以使用密码进行连接mongodb了

    ./mongod -f mongodb.conf --shutdown
    ./mongod -f mongodb.conf --fork

安装yapi

    YApi官方提供了可视化部署和命令行部署两种方式,可视化部署方式是在服务器起了一个node服务,在浏览器根据需要填入相关配置后自动部署,命令行方式则是自己修改配置文件后进行部署。具体操作可查看这里

npm install -g yapi-cli --registry https://registry.npm.taobao.org
  • 添加软链接(因为前面安装node的方式导致这里需要再处理一下)

    ln -s /usr/local/nodejs/bin/yapi /usr/local/bin
  • 执行yapi server启动安装服务,默认端口9090
  • 防火墙开启9090端口,浏览器输入访问地址http://ip:9090开始安装
  • 安装过程中需要有mongodb数据库的用户名和密码,我们之前建立的是admin数据库的用户名和密码,因为这里我们需要再建立一个yapi数据库的密码

    1、use yapi
    2、db.createUser({user:"admin", pwd: "adminyapi", roles: [{role: "readWrite", db: "yapi"}]})
    # 用户名为admin,密码为adminyapi,针对yapi数据库创建
    3、db.auth('admin','adminyapi')  # 验证是否创建成功
  • 建立好以后就可以进行安装了,数据库地址填写服务器IP,其他的根据自己的情况填写即可。我在这里使用了navicat进行登陆数据库看了看,Authentication就是指你具体要连接哪个数据库。
  • 安装完成后通过http://ip:3000进行访问即可进...

注意事项:服务器的安全组记得开端口9090、3000、27017三个

总结

整体安装过程比较简单,官方的脚手架用着也很方便,麻烦的就是mongodb的安装和配置,但是如果用的熟练的话也没有什么问题的。

参考


恪晨
145 声望462 粉丝

前端程序猿