YAPI-API管理平台安装部署过程

蓝咒 提交于 2020-03-20 12:25:12

yapi 的部署需要依赖 node.js 和 mongodb

首先进行安装 node

执行如下命令:

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

安装完成后接下来安装 mongodb

安装mogodb

首先去mogodb去下载最新的安装包。下载地址:

https://www.mongodb.com/download-center#community

现在完成后解压压缩包

tar zxf mongodb-linux-i686-1.8.2.tgz

安装准备:
将mongodb移动到/usr/local/server/mongdb文件夹

mv mongodb-linux-i686-1.8.2 /usr/local/mongodb

创建数据文件存储的位置和日志

cd /usr/local/server/mongodb
mkdir data
touch logs

启动mongodb

cd /usr/local/server/mongodb/mongodb-linux-i686-1.8.2/bin
## 不需要认证启动
./mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend --fork
## 需要认证启动
./mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --auth --logappend --fork

如果需要设置开机启动的话可以这样操作:

echo " /usr/local/server/mongodb/mongodb-linux-i686-1.8.2/bin --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --auth --logappend --fork" >> /etc/rc.local

参数解释:

--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)

mongodb安装好后就可以安装 yapi 了

可视化部署YAPI

执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)

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

运行完成后会提示:在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

此时需要在浏览器中打开:http://ip:9090 进行可视化安装。如果访问不通则有可能是防火墙未开放的原因导致,接下来就需要开放端口

防火墙端口开放

首先查询 9090 端口是否开放

firewal-cmd --query-port=9090/tcp
## 此时若提示 no 则表示端口未开放

开放端口

firewall-cmd --zone=public --add-port=9090/tcp --permanent

参数说明:
zone:作用域
tcp:表示使用tcp协议
permanent:表示永久生效

查询是否成功

firewal-cmd --query-port=9090/tcp
## 此时提示 Success 则表示端口开放

然后重启防火墙

systemctl  restart firewalld

在运行的过程中发现:node app.js 命令在执行过程并不是用守护线程启动,线程退出后服务就终止了。因此需要使用守护线程来启动 nodejs 可以使用 forver 插件来启动
首先安装 forever 插件

npm install -g forever

安装完成后启动服务:

## app.js 是指要运行的应用
forever start app.js  

forever stop app.js

参考文章:

https://hellosean1025.github.io/yapi/devops/index.html
https://www.cnblogs.com/zouke1220/p/9723191.html
https://www.cnblogs.com/phpk/p/10937534.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!