Yapi 部署

2,238 阅读3分钟

记录一下部署yapi的过程 需部署系统版本信息

  • 系统版本 : ubuntu 18.04 Lts
  • nginx : 10.15.1
  • mongoDb : 4.2.0

目录 :

  • 系统环境配置
  • MongoDB
  • Yapi
  • pm2管理

1 系统环境配置

node 安装

# 安装nodejs
sudo apt update
sudo apt install nodejs
sudo apt install npm 
# 使用n来管理node版本
/**
* sudo n lts 长期支持
* sudo n stable 稳定版
* sudo n latest 最新版
* sudo n 8.4.0 直接指定版本下载
*/
sudo npm install -g n
# 升级npm
sudo npm i -g npm

2 MongoDb

安装 mongoDb

** 注意:这个版本的MongoDB仅为以下64位 LTS(长期支持)Ubuntu版本提供软件包: **

  • 16.04 LTS
  • 18.04 LTS

这里还是使用的最简单的做法,也就是没有设置了验证的mongoDb

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

# 这条语句是官网自动生成的,最好还是去官网弄下来,这里使用的是18.04 Lts
# 官网地址:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

sudo apt-get update

# 这里直接使用的是最新版
sudo apt-get install -y mongodb-org

# 特定版本请使用这句
sudo apt-get install -y mongodb-org=4.2.0 mongodb-org-server=4.2.0 mongodb-org-shell=4.2.0 mongodb-org-mongos=4.2.0 mongodb-org-tools=4.2.0

一般来说,安装完成之后,mongo会直接启动,这个时候输入mongo应该是会进入到数据库的
如果进不去,或者是启动不了,输入mongod试试,一般会有提示错误信息

配置 mongoDb

以下文件都是必须存在,也就是说,mongoDb并不会根据这个配置去给你自动生成文件,至少我试了不会

sudo vim /etc/mongod.conf

# mongod.conf 基本目录
storage:
  dbPath: /var/lib/mongodb # 数据库储存位置
  journal:
    enabled: true
    
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log # 日志文件位置

# network interfaces
net:
  port: 27017 # 端口号
  bindIp: 127.0.0.1 # 默认是允许 127.0.0.1访问,如果需要其他,设置成 0.0.0.0就可以了

processManagement:
  timeZoneInfo: /usr/share/zoneinfo

3 Yapi

部署 Yapi

这里官网有两种部署方式,我采用的是命令行部署,具体可查阅 Yapi官方文档

mkdir yapi
cd yapi
# 或者下载 zip 包解压到 vendors 目录(clone 整个仓库大概 140+ M,可以通过 `git clone --depth=1 https://github.com/YMFE/yapi.git vendors` 命令减少,大概 10+ M)
git clone https://github.com/YMFE/yapi.git vendors
# 复制完成后请修改相关配置
cp vendors/config_example.json ./config.json 
cd vendors
npm install --production --registry https://registry.npm.taobao.org
# 安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
npm run install-server

配置Yapi

配置文件config.json在Yapi的安装目录下

# config.json
{
  "port": "8082", # 启动端口
  "adminAccount": "XXXXXXXXXX", # 管理员账号 
  "db": {
    "servername": "127.0.0.1", # 数据库地址
    "DATABASE": "yapi", # 数据库名 这里数据库必须存在 mongoDb,不然不会自动创建,会无法登录
    "port": 27017, # 数据库端口
    "user": "", # 数据库账号 没有添加mongdb验证不需要填写
    "pass": "", # 数据库密码 没有添加mongdb验证不需要填写
    "authSource": ""
  },
  # email 配置,这个不会就百度
  "mail": {
    "enable": true,
    "host": "smtp.qq.com",
    "port": 465,
    "from": "xxxxx@qq.com",
    "auth": {
      "user": "xxxx@qq.com",
      "pass": "mpomxafgpildbegf"
    }
  }
}

# 启动yapi,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
node server/app.js 

不出意外,这个时候访问相应的地址,可以直接进入到Yapi的首页,这个时候就证明Yapi是安装成功了.

4 pm2

pm2在这里的主要作用,是用来保持yapi的启动状态,因为使用上面那种启动方式,你必须开着一个窗口,关闭了,也就没了.

安装pm2

npm install -g pm2

# 安装完成之后输入 pm2 -v ,出现版本信息,就是安装成功了

配置启动项

pm2 start node (安装目录下)server/app.js --name='yapi'

# 启动服务
pm2 start yapi

这个时候yapi应该是正常使用了