Yapi安装部署到后台运行从0到1,女朋友看了都摇头(超详细版)

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则失败

 参考:



YAPI 部署从零到一,我都帮你梳理好了_yapi部署-CSDN博客

安装npm报错rollbackFailedOptional: verb npm-session原因及解决方案_前端安装sm4util 卡在 rollbackfailedoptional:verb npm-ses-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值