记录一下部署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应该是正常使用了