linux 上部署 YApi 可视化接口管理平台:
YApi 是一个高效、易用、功能强大的可视化接口管理平台,官方地址 : http://yapi.demo.qunar.com/
环境要求
- nodejs(7.6+): 本次安装版本:v12.16.1
- mongodb(2.6+):
- git:
先上效果图:
具体步骤:
1、安装node.js
1.1官网下载:https://nodejs.org/en/download/
1.2 上传服务器并解压
创建目录:
mkdir /home/tools/
解压:
tar -xvf /home/tools/node-v12.16.1-linux-x64.tar.xz
重命名解压文件夹名:
mv node-v12.16.1-linux-x64.tar.xz nodejs
解压成功之后即是可以运行的二进制文件,只需要为node和npm建立两个软连接,使之可以全局运行即可:
//前面地址为实际地址
ln -s /home/tools/nodejs/bin/node /usr/local/bin/node
ln -s /home/tools/nodejs/bin/npm /usr/local/bin/npm
以后在任意路径下都可以执行node 和 npm两个命令了,但是由于一些原因,npm在中国的下载速度并不是很理想,我们可以安装淘宝提供的cnpm来代替其功能,执行以下命令即可全局安装cnpm。之后可以直接使用cnpm代替npm,命令格式是一样的。官方网址 : https://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org
至此nodejs安装完毕,可以输入以下命令查看node和npm的版本信息:
node -v
npm -v
运行结果:
2、安装MongoDB
2.1官网下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz
2.2解压压缩包:
tar -xvf mongodb-linux-x86_64-4.0.13.tgz
2.3重命名解压后的文件夹:
mv mongodb-linux-x86_64-4.0.13 mongodb
2.4配置系统环境变量,将mongod路径添加到系统路径中,方便随处执行mongod命令:
vim /etc/profile
键盘按下“i”进入编辑模式即可。在文件的最后加上:
#mongodb 20200404
export PATH=$PATH:/home/tools/mongodb/bin
最后按下“Esc”,输入“:wq”保存退出vi编辑模式,
source /etc/profile
使系统环境变量立即生效。
2.5创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:
mkdir -p /home/tools/mongodb/data
mkdir -p /home/tools/mongodb/logs
2.6 创建MongoDB运行时使用的配置文件:
vim /home/tools/mongodb/bin/mongod.cfg
再输入以下配置内容:
dbpath = /home/tools/mongodb/data #数据文件存放目录
logpath = /home/tools/mongodb/logs/mongod.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
esc退出 ,输入
:wq
保存退出vim编辑模式即可。注意:注释符号#和数据之间必须是一个空格。
2.7启动MongoDB服务:
进入bin目录下,加载配置文件方式启动:
cd /home/tools/mongodb/bin
./mongod -f mongod.cfg
查看端口映射检查是否启动成功:
netstat -nltp|grep mongod
显示:
或者:
netstat -nltp|grep 27017
显示:
或者:
ps -ef | grep mongo
显示:
或者:
top
显示:
2.8 关闭MongoDB服务
2.8.1 mongod命令关闭
./mongod -f mongod.cfg --shutdown
注意要加上配置文件路径参数,和启动时一致,否则会找默认目录,导致报错:
这样能干净的关闭 MongoDB 服务,会释放内存中MongoDB占用的内存,推荐使用。
2.8.2 kill进程
ps -ef | grep mongo
kill -9 xxx(pid)
有时可能会出现错误关不掉时就可使用这种强制方式,但注意这种方式可能并不会马上释放内存中MongoDB占用的内存,且如果这时候有数据往MongoDB新增可能会导致数据丢失。
3.安装Git
3.1 从GitHub上下载最新的源码编译后安装
进入git在GitHub上发布版本页面https://github.com/git/git/releases,这个页面我们可以找到所有git已发布的版本。这里我们选择最新版的tar.gz
包。
3.2 上传并解压
tar -xvf git-2.26.0.tar.gz
解压后重命名解压后的文件夹
mv git-2.26.0 git_source
3.3 编译源码
进入到解压后的文件夹进行源码编译,
cd git_source
不过在此之前需要安装编译所需要的依赖:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
耐心等待安装完成,中途出现提示的时候输入y
并按回车:
至此,依赖安装完成。
3.4 编译git源码
make prefix=/home/tools/git all
3.5 安装git 至 /home/tools/git 路径
make prefix=/home/tools/git install
3.6 配置环境变量
vi /etc/profile
在底部加上
export PATH=$PATH:/home/tools/git/bin
( 输入 :wq! 保存修改)
刷新环境变量
source /etc/profile
3.7 查看Git是否安装完成
git --version
至此,从github上下载最新的源码编译后安装git完成。
4 部署yapi
第一步:安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
第二步:配置yapi
ln -s /home/tools/node/bin/yapi /usr/bin/yapi
第三步:启动配置
如果不进行第二步,配置,可能会找不到yapi
yapi server
打开链接 http://127.0.0.1:9090 进行初始化配置
备注:
初始化时候mangodb数据库初始化失败,解决方法:
修改文件 /home/tools/yapi/my-yapi/vendors/server/utils/db.js
在原来的22行位置
let options = {useNewUrlParser: true, useCreateIndex: true}
添加useUnifiedTopology: true
选项,删除mongo里面的数据库,和init.lock文件,然后执行npm run install-server
第四步:启动服务器
node /home/tools/yapi/my-yapi/vendors/server/app.js
打开链接 http://127.0.0.1:3000 进行访问即可
部署问题:
使用Xshell启动服务,当关闭Xshell,服务也随之关闭
解决:
使用pm2部署
第一步:安装pm2
npm install -g pm2
第二步:配置连接pm2
ln -s /home/tools/node/bin/pm2 /usr/bin/pm2
第三步:在项目添加配置文件my-yapi_processes.json
my-yapi_processes.json文件可自定义
添加如下内容:
{
"apps" : [{
"name" : "my-yapi",
"script": "/home/tools/yapi-my-yapi/vendors/server/app.js",
"cwd": "./",
"watch":[
"server",
"static",
"test",
"exts",
"common"
]
}]
}
启动服务:
pm2 start /home/tools/yapi/my-yapi/vendors/my-yapi_process.json
结果如下:
关闭服务:
pm2 stop /home/tools/yapi/my-yapi/vendors/my-yapi_process.json
结果如下: