内网搭建yapi接口管理平台

本文详细介绍了在内网环境下搭建Yapi接口管理平台的全过程,包括前置准备、安装Node.js和MongoDB、安装及配置Yapi、安装Nginx、配置hosts和反向代理。通过此教程,读者将能够成功部署并使用Yapi,实现更高效地管理和协作接口。
摘要由CSDN通过智能技术生成

啥是yapi

如果你会用百度,你会发现,yapi是一个

高效、易用、功能强大的API管理平台。

 

 

但这次百度可能会骗你,因为你导航进去的yapi官网,是去哪网的一个demo,里边的页面都是demo。在页面的最下边,我找到了yapi的github地址

总之,yapi是一个接口管理平台。搭建在内网上,你可以用它来管理你的接口。作为协作工具,可以减少前端和后端的沟通成本,让开发更快速更便捷。

搭建平台这件事,理应运维或者是后端来做,所以下边的内容,更适合这两类人群来阅读。如果你想要研究更多好玩的东西,就算你是保洁也可以看。

关于yapi的读法,可能它读作y-api,而不是夸你强得压批的ya-pi。

前置准备

Yapi需要nodejs(npm)和MongoDB,所以现在会演示如何安装。

下边的步骤在macOS下可用,Linux下同理,windows下没试过。

除了上边需要的两个硬性条件,还需要你

  • 会用命令行
  • 愿意动手

要是动手都不愿意动,不如现在打开和平精英,没必要强迫自己。

安装nodejs

前往nodejs官网,直接下载安装就行。

安装MongoDB

如果你有brew,那就直接执行

brew install mongodb

,然后喝口水就完事了。

如果你没有,那就点上边的链接进去安装。如果你不愿意看也不愿意动手,那你去世算了。

安装完了敲命令

brew services start mongodb

,启动MongoDB。

如果启动成功,控制台会提示你

$ brew services start mongodb
==> Successfully started `mongodb` (label: homebrew.mxcl.mongodb)

打开navicat,新建链接,按下边的图填上地址。新安装的MongoDB应该是没有密码,所以不需要Authentication。MongoDB的端口默认是27017,你都沦落到看教程安装MongoDB了,我估计你也不能改这个默认端口。所以都按下边的图配置就行。

 

 

填好了连接一下试试,要是红了就是好使了。

 

 

这样一来你的前期准备就ok了,接下来安装yapi。

安装yapi

为了演示安装,我先卸载了yapi。由于你电脑里本来就没有yapi,所以这一步我就不写了,你也不用模仿,我们直接开始安装。安装教程在这,为了写这篇文章,我还是一步一步讲。

由于你安装了nodejs,那npm命令就可以用了。直接在控制台输入命令

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

丝毫不墨迹,就开始安装了。要是不出意外,控制台应该这样了。

$ sudo npm install -g yapi-cli --registry https://registry.npm.taobao.org
/usr/local/bin/yapi -> /usr/local/lib/node_modules/yapi-cli/bin/yapi-cli
/usr/local/bin/yapi-cli -> /usr/local/lib/node_modules/yapi-cli/bin/yapi-cli
+ yapi-cli@1.5.0
added 266 packages from 125 contributors in 11.511s

要是报错了,你sudo一下子试试。由于-g是全局安装,全局安装那个目录不一定有权限,所以sudo一下就行了。要是怕踩坑,你就直接sudo,反正多打个sudo没害处。

按照教程,打命令

yapi server

控制台会提示

$ yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

他让我打开我就直接打开,然后浏览器显示

 

 

问题应该出在ip地址了,由于我在公司内网,我的内网ip是192.168.1.182,于是我访问http://192.168.1.182:9090/,果然安装页面出现了。

 

 

根据我们实际需求,填写这个问卷。

 

 

做完问卷调查,它就自己开始安装了。过程有点漫长,自己找点事干。

 

 

安装完了就有提示了,按照提示继续操作。切换到安装目录,把命令

node vendors/server/app.js

复制到命令行,启动服务。

控制台说

$ node vendors/server/app.js
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...

打开地址访问,应该就好使了。

 

看到地址已经是本地的ip了,说明我们部署成功了。

先松一口气之后,我看到控制台好像还没敢大喘气呢。启动了服务之后,控制台会处于等待状态。于是我Ctrl+c结束了进程,使用

vim ~/.bash_profile

编辑这个文件,在文件里加入一个函数

function startyapi {
  cd /Volumes/Work/my-yapi
  nohup node vendors/server/app.js &
}

使用:wq保存,在控制台使用

source ~/.bash_profile

使刚才的改动生效。

在控制台输入

startyapi

可以看到已经在后台启动了。

$ startyapi
[2] 78163
appending output to nohup.out

如果想要关闭服务,可以使用

lsof -i tcp:3000

来查看端口占用。

$ lsof -i tcp:3000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    78163  hlp   22u  IPv6 0x673f644c16150d2d      0t0  TCP *:hbci (LISTEN)

使用

sudo kill 78163 #这里是你具体查出来的PID

来结束进程,就关闭了yapi的服务。

配置解析

按上边配置完,你已经可以使用yapi的功能了。每次需要使用的时候,你都需要访问http://127.0.0.1:3000/来使用。看看别人家,都用内网域名

http://yapi.company.com

了。不过你不用慌,接下来我们配置解析。

安装nginx

配置解析之前需要安装nginx服务器,如果你有brew,那就直接执行

brew install nginx

。或者去百度搜一搜nginx的安装教程。

配置hosts

使用命令

sudo vim /etc/hosts

编辑hosts,添加一行解析

127.0.0.1  yapi.company.com

。按:wq保存。

这样配置完,所有来自yapi.company.com的请求就都被发送到本地了。

配置nginx反向代理

一般安装完nginx如果你不乱动的话,配置文件在

/usr/local/etc/nginx/nginx.conf

在最后一个}上边增加一行

include servers/*.conf;

,新建目录servers,再新建文件yapi.company.com.conf,把下边的配置信息粘贴进去。

map $http_upgrade $connection_upgrade {
	default upgrade; 
	'' close; 
}

server{
    listen 80;
    server_name yapi.company.com;

    charset utf-8;

    location / {
        proxy_pass         http://127.0.0.1:3000;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Connection "upgrade";
		proxy_set_header Upgrade $http_upgrade;
		proxy_read_timeout 120s;    
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
}

这样配置,就把所有80端口来的所有来自yapi.company.com的请求都转发到http://127.0.0.1:3000了。配置完之后使用

sudo nginx -s reload

重启nginx。打开浏览器访问,发现已经成功了。

 

 

总结

到这里安装完成,先总结安装步骤。

  1. 准备
  • 准备brew
  • 安装nodejs和MongoDB
  • 准备好动手
  1. 安装
  • 使用npm安装yapi-cli
  • 进入yapi可视化页面自动安装
  1. 解析
  • 编辑hosts
  • 安装nginx(如果没有)
  • 配置ngxin反向代理

总之yapi很好用,配置也不是很难。功能方面,除了记录api、省了一个接口文档,还能进行接口测试。接口按照参数填写在yapi上,可以直接运行。

下一步准备配置Pre-request Script(请求参数处理脚本)。由于实际项目中,接口不一定是单传参数,还有签名以及token机制。这些都需要使用请求参数处理脚本。

 

 

然后准备配置swagger,从项目直接生成swagger-json,连接到yapi,就不用每次都手动填接口了。

 

 

这么多好玩的在等着我们,有什么好抑郁的呢。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值