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 Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
2.3、使用yum安装MongoDB
yum install -y mongodb-org
2.4、验证
执行如下命令,验证是否安装成功
rpm -qa |grep mongodb
rpm -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=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/bin/mongod $OPTIONS run
PIDFile=/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/node
rm -rf /usr/bin/npmln -s /usr/local/node-v12.10.0-linux-x64/bin/node /usr/bin/node
ln -s /usr/local/node-v12.10.0-linux-x64/bin/npm /usr/bin/npm
然后重新执行yapi server,重新部署
出现如下信息,表示部署成功
4.4、启动项目
/root/my-yapi是我的部署目录,需要切换成自己的
cd /root/my-yapi
node 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
后记
个人总结,欢迎转载、评论、批评指正