极速搭建YApi在linux上的部署
YApi是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。本文将带领大家搭建 YApi 接口平台。
Llinux 部署 YApi
环境准备
Git
Node
Mongodb
当前部署环境版本
[root@VM-32-39-centos vendors]# git --version
git version 1.8.3.1
[root@VM-32-39-centos vendors]# node -v
v16.20.0
[root@VM-32-39-centos vendors]# mongo -version
MongoDB shell version v4.0.28
Mongodb安装
配置Mongodb源
cd /etc/yum.repos.d
vim mongodb-org-4.0.repo
[mngodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1
安装MongoDB数据库
yum -y install mongodb-org
启动Mongodb数据库
systemctl enable mongod.service
systemctl restart mongod.service
命令行部署
如果 github 压缩文件无法下载,或需要部署到一些特殊的服务器,可尝试此方法
创建mongodb用户
第一步:创建数据库
use yapi
第二步:创建用户并配置权限
db.createUser({user:"username",pwd:"123456",roles:[{"role":"readWrite","db":"yapi"}]})
拉取代码并安装模块
cd /usr/local
mkdir yapi
cd yapi
git clone https://github.com/YMFE/yapi.git vendors
cp vendors/config_example.json ./config.json //修改config.json文件
[root@VM-32-39-centos vendors]# cat config.json
{
"port": "3000",
"closeRegister": false,
"adminAccount": "********",
"timeout":120000,
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": 27017,
"user": "username",
"pass": "123456",
"authSource": ""
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": 465,
"from": "y***@163.com",
"auth": {
"user": "y***@163.com",
"pass": "******"
}
}
}
cd vendors
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候
报错总结
1. npm install --production --registry https://registry.npm.taobao.org 安装时报错cert失败 把https 修改为http
2. npm run install-server
编译报错server/yapi.js ../../config.json not_found
修改该文件下config.json相对路径
[root@VM-32-39-centos vendors]# cat server/yapi.js
const path = require('path');
const fs = require('fs-extra');
const nodemailer = require('nodemailer');
const config = require('../config.json');
本文参考1:https://www.nowcoder.com/discuss/518840880686436352
本文参考2:https://hellosean1025.github.io/yapi/devops/index.html