YApi是http接口管理和测试的重要工具,其作用相当于原来用的postman,但是比postman有更多的功能,本篇文章主要介绍如何在linux环境中快速的安装(利用yum命令安装)和部署YApi

一、nodejs 安装

1.1 下载nodejs包

yum install -y nodejs yum install -y npm

安装完成后可以用 node -v命令查看安装是否成功

二、安装MongoDB

2.1、添加mongodb源文件,在/etc/yum.repos.d 创建一个 mongodb-org.repo 文件

touch /etc/yum.repos.d/mongodb-org.repo

2.2、在mongodb源文件中添加镜像地址

vim /etc/yum.repos.d/mongodb-org.repo

内容如下:

[mongodb-org]name=MongoDB Repositorybaseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/gpgcheck=0enabled=1

2.3、使用yum安装MongoDB

yum install -y mongodb-org

2.4、验证

执行如下命令,验证是否安装成功

rpm -qa |grep mongodbrpm -ql mongodb-org-server

执行如下结果代表安装成功,这里也可以看到安装的位置

2.5、启动MongoDB

service mongod start

如果出现以下错误

解决方法如下:
1、首先将mongo设置为服务
编辑/usr/lib/systemd/system/mongod.service文件,

 vim /usr/lib/systemd/system/mongod.service

在文件中添加如下内容

[Unit]Description=mongodb database [Service]User=mongodGroup=mongodEnvironment="OPTIONS=--quiet -f /etc/mongod.conf"ExecStart=/usr/bin/mongod $OPTIONS runPIDFile=/var/run/mongodb/mongod.pid [Install]WantedBy=multi-user.target

2、建立链接

ln -s /usr/lib/systemd/system/mongod.service /etc/systemd/system/multi-user.target.wants/

3、重新加载systemctl

systemctl daemon-reload

4、修改文件权限
依次执行如下命令

cd /tmp
ls -l *.sock

将上一步中列出的文件执行如下命令增加权限

chown mongod:mongod mongodb-27017.sock

5、然后重新启动,

service mongod start

如下结果代表启动成功

2.6、设置开机启动

chkconfig mongod on

执行结果

2.7 配置远程访问

编辑文件/ect/mongod.conf

vim /etc/mongod.conf

将图中所示的行注释掉

重新启动mongodb

service mongod restart

三、安装git

yum -y install git

安装完成后可以执行命令git –version查看版本

四、部署YApi

4.1、安装YApi

npm install -g yapi-cli --registry https://registry.npm.taobao.org

如果出现如下错误

可以执行如下命令升级npm

npm update -g npm

然后重新执行如下命令安装YApi

npm install -g yapi-cli --registry https://registry.npm.taobao.org

4.2、启动YApi

这里的启动只是部署的启动,所以不需要后台启动,部署完成后就可以关了

yapi server 

如果找不到yapi命令,则执行如下命令

ln -s /usr/local/node-v16.14.0-linux-x64/bin/yapi /usr/bin/yapi

其中/usr/local/node-v16.14.0-linux-x64/bin/yapi是我机器上yapi的安装路径,如果不一致,需要换成自己的路径

4.3、部署YApi

首次启动需要在网页端部署一下YApi
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
如果是云主机,需要打开9090端口的防火墙


按照自己的需求填写完信息后,点击底部的开始部署按钮部署
如果部署的时候后端直接退出,并且启动时有这样的告警

原因是node的版本太高了,需要降低一下node的版本
依次执行如下命令切换node的版本

wget https://nodejs.org/dist/v12.10.0/node-v12.10.0-linux-x64.tar.xztar -xvf node-v12.10.0-linux-x64.tar.xz mv node-v12.10.0-linux-x64 /usr/local/rm -rf /usr/bin/noderm -rf /usr/bin/npmln -s/usr/local/node-v12.10.0-linux-x64/bin/node /usr/bin/nodeln -s/usr/local/node-v12.10.0-linux-x64/bin/npm /usr/bin/npm

然后重新执行yapi server,重新部署
出现如下信息,表示部署成功

4.4、启动项目

/root/my-yapi是我的部署目录,需要切换成自己的

cd /root/my-yapinode vendors/server/app.js

在浏览器输入地址http://127.0.0.1:3000/

这种办法启动的 项目,当远程连接器(如xshell)退出就会退出项目,解决方案就是用pm2启动
1、安装pm2

npm install -g pm2

2、配置连接pm2

ln -s /usr/local/node-v12.10.0-linux-x64/bin/pm2 /usr/bin/pm2

pm2的路径需要自己查找一下(find -name “pm2”),
3、在项目添加配置文件my-yapi_processes.json
/root/my-yapi是我的部署路径,要找到自己对应的部署路径

cd /root/my-yapi/vim my-yapi_processes.json

my-yapi_processes.json的内容如下

{"apps" : [{"name" : "my-yapi","script": "/root/my-yapi/vendors/server/app.js","cwd": "./","watch":["server","static","test","exts","common"]}]}

4、启动服务

pm2 start /root/my-yapi/my-yapi_processes.json

关闭服务命令如下

pm2 stop /root/my-yapi/my-yapi_processes.json

后记
 个人总结,欢迎转载、评论、批评指正