OK,guys !
这是我第一篇文章,so,这是一个非常详细满满干货的教程,学会了,兄弟们的对象都说你顶呱呱!!!!!!!
Yapi简介
Yapi是一个开源的接口管理平台,用于帮助团队更加高效地管理和维护接口文档。Yapi提供了接口文档编辑、接口测试、接口Mock等功能,并支持多人协作和权限控制。Yapi的界面简洁易用,可以方便地创建接口文档,编写接口参数和返回结果,并支持接口的版本管理和发布。Yapi还可以生成API文档和Mock数据,供前端开发和测试使用。Yapi可以帮助团队减少沟通成本,提升接口开发和测试效率。(AI生成,好多字有点懒,知道Yapi肯定知道是干什么 用的)
部署前准备
以下准备都基于Centos7!!!
1.服务器(当然你可以用虚拟机)
2.node.js
3.mongodb
服务器使用配置大家可以搜一下其他博主,我的配置是按照阿里云服务器部署(作者:生命线与发际线)
1.安装node.js
安装的版本是v10.14.1
1.下载包
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
2.解压
tar -xf node-v10.14.1-linux-x64.tar.gz
3.解压后的文件夹名字太长可以重新命名
mv node-v10.14.1-linux-x64 node
4.更改配置文件
1.记录好自己的node.js 安装目录地址 例如我的是:
/usr/local/hanyu/node
2.进入配置文件进行编辑
sudo vim /etc/profile
3.复制下面这段进去(路径根据自己修改)
# node.js
export NODE_HOME=/usr/local/hanyu/node
export PATH=$NODE_HOME/bin:$PATH
# 加到文件最后即可
5.保存退出刷新
source /etc/profile
6.测试是否安装成功
node -v
npm -v
有时候高版本会有兼容问题与系统 所以我找了一个低版本的
2.安装 数据库 Mongodb
下载地址:MongoDB: The Developer Data Platform | MongoDB
MongoDB 6.0版本以上不自带shell命令,只能自己下载或者使用他们的图形界面
1.下载连接:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.13.tgz
2.解压
tar zxvf mongodb-linux-x86_64-rhel70-6.0.13.tgz
3.解压后的文件夹名字太长可以重新命名
mv mongodb-linux-x86_64-rhel70-6.0.13 mongodb
4.更改配置文件
1.记录好自己的node.js 安装目录地址 例如我的是:
/usr/local/hanyu/mongodb
2.进入配置文件进行编辑
sudo vim /etc/profile
3.复制下面这段进去(路径根据自己修改)
# mongodb
export NODE_HOME=/usr/local/hanyu/mongodb
export PATH=$NODE_HOME/bin:$PATH
# 加到文件最后即可
5.保存退出刷新
source /etc/profile
6.进入mongodb目录创建必要的文件
mkdir db && mkdir log
# 修改文件权限
chmod 777 db && chmod 777 log
7.创建数据库的配置文件
touch mongodb.conf
8.创建日志文件
cd log && touch mongodb.log
9.修改数据的配置文件
port=27017 #端口
dbpath= /usr/local/hanyu/mongodb/db #数据库存文件存放目录
logpath= /usr/local/hanyu/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了
auth = true #校验权限
ps:权限校验一定要开 如果你部署在服务器,百分百的一定会被黑客删库!!!!!
10.启动数据库 需要加自己的数据库配置文件路径
mongod --config /usr/local/hanyu/mongodb/mongodb.conf
11. 安装shell脚本
安装之前的版本 使用mongo的命令行命令就可以操作数据库了,但是刚才说过6.0 版本以上mongodb 已经在安装包提供shell 脚本,需要自己下载。so,也不知道他们想的。
下载
wget https://downloads.mongodb.com/compass/mongosh-1.6.0-linux-x64.tgz
解压
tar -zxvf mongosh-1.6.0-linux-x64.tgz
解压后得到 mongosh-1.6.0-linux-x64 文件夹
在mongosh-1.6.0-linux-x64/bin目录下会有mongosh和mongosh_crypt_v1.so 这两个文件
需要把这个两个文件分别放到 /usr/local/bin/和/usr/local/lib/中,运行如下命令
sudo cp mongosh /usr/local/bin/
sudo cp mongosh_crypt_v1.so /usr/local/lib
现在就可以使用命令行命令了
mongosh
12. 配置mongodb权限
在以上配置都完成以后安装下面数据进行配置
管理员必须在admin表下创建
//使用admin数据库
use admin
//给admin数据库添加管理员用户名和密码,用户名和密码请自行设置
db.createUser({user:"admin",pwd:"123456",roles:["root"]})
//验证是否成功,返回1则代表成功
db.auth("admin", "123456")
//切换到要设置的数据库,以test为例
use test
//为test创建用户,用户名和密码请自行设置。 这个设置以后 这个test的表只能被test的账户和root使用 其他表用户无法访问
db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})
13.如果发现配置配置错了,使用一下命令杀掉进程,然后重新进行第 8
步
ps aux |grep mongodb
sudo kill <进程ID>
Yapi 安装部署
前置条件
配置Yapi使用的数据库表
1、创建数据库:YAPI数据存储
# 基本语法
use <DATABASE_NAME> # 不存在则创建
db # 查看当前所在数据库
show dbs # 查看所有数据库
# 在MongoDB中可以使用db.createUser({用户信息})函数创建用户:
db.createUser({
user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
});
# 说明:
1)user:新建用户名。
2)pwd:新建用户密码。
3)customData:存放一些用户相关的自定义数据,该属性也可忽略。
4)roles:数组类型,配置用户的权限。
===========================================================================================
use yapi # 创建yapi数据库,用于存储数据
#先use命令切换至yapi数据库。如果该库不存在,那么则会创建该数据库。
use yapi
db.createUser({user:'yapiuser',pwd:'xxxxx',roles:[{role:'readWrite',db:'yapi'}]})
1.安装
官方推荐使用可视化安装,方便快捷
执行 `yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)。
安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
运行部署
yapi server
一定要开放防火墙端口,并且要是云服务器的话要怎加安全组 !!!!
2.部署
本地的话直接安装提示的地址进行访问,如果是远程的话需要输入地址
数据库地址ip 按照自己的去写
一定要打开数据认证,不然跟刚才创建的数据库连接不上,这会填写的数据用户名一定要跟刚才你自己创建的要一模一样!!!!!!!!
防火墙和安全组别忘开了一共要打开 9090 3000 27017 三个端口!!!!!!
填写好之后,直接点击【开始部署】即可
部署成功 复制下管理员的用户名和密码
按照指示,切换到部署目录,输入:
node vendors/server/app.js
指令启动服务器, 然后在浏览器打开 http://127.0.0.1:<安装时候设置的端口号>
访问
使用刚刚命令行复制的管理员用户名和密码登陆即可
Yapi后台运行
现在该有一个问题,当你关掉shell终端或者退出当前目录,yapi就是停止运行,现实中是不能靠这终端来保持长时间的连接进行运行,所以我们使用PM2 来进行后台运行
pm2安装很简单
但是安装PM2 的时候会报错
报错原因:代理问题 因为nmp 网站在国外
解决方案:
卡住的页面ctrl+c 退出当前任务
然后运行下面的命令
npm config set registry http://registry.npm.taobao.org
运行yapi服务,进入yapi部署的目录
cd /usr/local/my-yapi
后台运行
pm2 start vendors/server/app.js --name myyapi
总结
至此,yapi部署完成,简单功能可以使用。
部署时,遇到过好多问题,版本兼容问题害死人啊,还有大家一定要把响应的端口防火墙安全组打开,不然发现问题,排查半天,很浪费时间,比如我,
还有安装MongoDB的时候一定要开访问权限,不然以后存了东西,被那些黑客扫描到你这个肉鸡 ,给你删库,啥都没有了。
OK,guys ,第一篇分享到此结束,有帮助的话给bro 一键三联
如果遇到其他问题或者建议请联系我,谢谢
扩展
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
# 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system【说明】
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限在默认的情况下MongoDB是不开启用户认证的。如果我们添加用户,那么需要开启用户认证机制。通过修改mongodb.conf配置文件,在文件中添加 auth=true 即可。
db.auth(‘用户名’,’密码’) # 认证函数:返回1成功,0则失败