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

结果如下:

linux 上部署 YApi 可视化接口管理平台的更多相关文章

  1. YApi——手摸手,带你在Win10环境下安装YApi可视化接口管理平台

    手摸手,带你在Win10环境下安装YApi可视化接口管理平台 YApi YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建 ...

  2. 利用RAP搭建可视化接口管理平台

    环境:CentOS7 jdk:1.7.0_51 redis:3.2.8 mysql:5.6 tomcat:8.0 安装过程: 依赖组件安装: 安装jdk.redis.mysql.tomcat过程省略. ...

  3. Centos下,Docker部署Yapi接口管理平台

    前言介绍 Yapi 由 YMFE 开源,旨在为开发.产品.测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建.发布.维护 API. 项目地址:https://github.com/YMFE/ya ...

  4. (转)Centos下,Docker部署Yapi接口管理平台

    接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...

  5. Centos下,Docker部署Yapi接口管理平台(详细得令人发指)

    接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容...没 ...

  6. 这个接口管理平台 eoLinker 开源版部署指南你一定不想错过

    本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...

  7. 这份接口管理平台 eoLinker 开源版的部署指南教程你一定不想错过

    本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...

  8. Linux 上的数据可视化工具

    Linux 上的数据可视化工具 5 种开放源码图形化工具简介 Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到 3-D 制图,再到科学图形编程和图形模拟.幸运的是,这 ...

  9. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

随机推荐

  1. python 递归删除空文件夹

    Python如何递归删除空文件夹 1.Python如何递归删除空文件夹,这个问题很常见.但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦.Python中的os.walk提供了 ...

  2. ReplayingDecoder 解码器:别以为我有多厉害,也只不过是使用了一下装饰器模式而已~

    原文地址 一.设计模式为啥老是用不好? 想要写出更屌的代码,提高代码的健壮性和可扩展性,那么设计模式可谓是必学的技能. 关于学习设计模式,大家可能都觉得设计模式的概念太过于抽象,理解起来有点费劲:又或 ...

  3. C/C++经典面试题1,const关键字用法总结

    本文主要说明了const关键字的作用,包括了用于对数组,指针与类相关的修饰方法,作为笔记总结使用.若有错误与不足,欢迎指正. const关键字 用于修饰一个常类型,常类型的变量或对象的值无法被改变,即 ...

  4. W3C标准和语义化

    一.语义化的理解 根据内容选择合适的标签,便于开发者阅读,在写出更优雅的代码的同时让浏览器很好的解析. 目的 1.在没有CSS的情况下,页面也能呈现出很好的内容结构和代码结构: 2.有利于SEO:和搜 ...

  5. 焦大:逛网seo案例浅析

    http://www.wocaoseo.com/thread-93-1-1.html 逛,发现喜欢.这或许是很多人上网的喜欢方式,我隐约记得白鸦在一次采访上说到现在人的购物方式,在淘宝上人们决定买一件 ...

  6. JS 替换日期的横杠为斜杠

    例如1: <script type="text/javascript">      var dt = "2010-01-05";           ...

  7. 557反转字符串中的单词III

    class Solution: # 定义一个反转字符串的函数. def str_rever(self,s): length = len(s) s1 = '' for index in range(le ...

  8. GitHub 热点速览 Vol.35:Let's Go,Rust 大放异彩

    摘要:语言之争,一直存在于各类社群,不论是单个编程语言的交流群,亦或是 NoSQL.云开发等技术群,总能看到"要不要换 Go"."Rust 比 C++ 更强"的 ...

  9. Zigzags CodeForces - 1400D

    给出一组数: 寻找四元组的个数 (i,j,k,l)其中a[i]=a[k],并且a[j]=a[l] 刚看到这个题的时候想到了记录每个数的个数,然后求前缀和以及后缀和.先枚举i和k,当a[i]和a[k]相 ...

  10. docker快速搭建php7.2-nginx开发环境

    1.输入命令: docker search -s 100 php 搜索出下面图中列表,选择webdevops/php-nginx. 2.通过docker拉取webdevops/php-nginx镜像, ...