从零开始部署 Yapi(Windows+Nginx)
一、环境准备及安装
本文中是以本地 Windows 作为安装环境,Nginx 做反向代理,亲测验证可用。
Yapi 运行需要的环境:
Nodejs,MongoDB
安装包都在文档末尾处
1.1 安装 node-v12.16.1
为啥偏偏是 V12.16.1 版本?因为亲测 Nodejs 安装太高的版本会导致 Yapi 可视化安装时出现奇怪的错误,经过几次测试,便使用了该版本的 nodejs 及 V4.2.12 版本的 MongoDB。
安装过程很简单,一直 next 使用默认配置

验证是否安装成功,cmd 使用【node -v】命令即可

1.2 安装 MongoDB
Yapi 的数据存储使用的 MongoDB,例如一些账户信息,之后也方便二开
1.2.1 安装包
![]() |
![]() |
|---|
双击.msi 文件,选择 Custom 自定义安装。
温馨提示:准备好一个文本文档记录下安装的目录,稍后将会用到,这里我将路径修改在了 D:\MongoDb
![]() |
![]() |
|---|
"install mongoDB compass"不勾选(当然你也可以选择安装它,大概需要 5-8 分钟安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装.
下载地址:https://www.mongodb.com/download-center/compass。
在安装好之后,D:\MongoDb目录如下图所示

1.2.2 验证安装
进入 bin 目录双击 mongo.exe 即可
连接 Mogodb 之后可以使用简单的算术运算,输入 db 即可查看当前操作的文档,即数据库

二、Yapi 可视化安装
2.1 安装 Yapi
进入此步骤就已经成功大半了,因为 Yapi 官方提供了两种方式部署,其中可视化安装,使得它的安装非常简单人性化
先上官网地址:Yapi 官方手册
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
在 cmd 命令行中分别输入以上命令行,则 yapi 可视化部署就已经在当前宿主机上了,在本地部署则输入 127.0.0.1:9090,进入可视化部署界面,就像一个软件安装页面一样.


此时在可视化部署之前,可以进行 Yapi 的预设配置,经过测试用该文档的 nodejs 和 MongoDB 版本安装 1.9.2 版本是没有问题的,编写此文档时,Yapi 刚更新了 1.10.1 版本,暂时未测试。
此外还需要注意 Yapi 部署的路径、网站端口号及数据库端口号。
2.2 可视化部署

Yapi 部署过程中,会初始化数据库及 UI,一般安装过程在 5 分钟之内,如若报错也会在该控制台输出,一般手动百度一下就能解决。

此时提示部署成功则安装成功,记录初始化管理员账号密码,切换到部署目录,输入 nodejs 命令去启动服务器。
这里的部署目录就是 2.1 步骤中我们部署的路径,浏览器的端口则为我们设置的网站端口
2.3 运行 Yapi.
在窗口启动 yapi 之后,进入http://127.0.0.1:3000,登录输入在可视化部署页面初始化的管理员账号密码,进入首页,至此Yapi的安装就此完成


三、Yapi 使用 Nginx 部署
3.1 Nginx 环境准备及安装
安装 Nginx
官网下载地址http://nginx.org/en/download.html 下载解压之后的目录如下

两种启动方式:
- 双击 nginx.exe,双击之后会一个黑框一闪而过,不建议使用,错误看不到日志。
- Cmd 命令窗口下使用 nginx.exe 或者 start nginx 命令启动
3.2 Nginx 常用命令
nginx -s reload # 重新载入配置文件
start nginx # 启动Nginx
nginx -s reopen # 重启 Nginx
nginx -s stop # 快速停止 Nginx
nginx -s quit # 完整有序的停止nginx
3.3Nginx 配置
网上的关于 Nginx 配置的文档很多,这里不重复讲解解释,推荐几个网址:
Nginx 的安装及使用
- https://www.cnblogs.com/jiangwangxiang/p/8481661.html(Windows)
- https://www.runoob.com/linux/nginx-install-setup.html(Linux)
Nginx 配置详解及服务器部署 - https://www.runoob.com/w3cnote/nginx-setup-intro.html
- https://www.cnblogs.com/zoe-zyq/p/14843709.html
本文中使用的配置效果为:访问 localhost:80,Nginx 请求转发至 Yapi(127.0.0.1:3000)页面。

至此 Yapi 的部署就到此结束了,后续再启动 Yapi 只需要执行 2.2 节运行 Yapi 以及 3.1 节中启动 Nginx 即可。
80 端口占用错误处理方法
错误:nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
解决方案
查看 80 端口占用情况
netstat -aon | findstr :80
查看服务名称
tasklist|findstr "4"

- 方式一:修改注册表
- 方式二:修改.conf 文件

- 方式三:关闭占用 80 端口的服务
- https://stackoverflow.com/questions/1430141/port-80-is-being-used-by-system-pid-4-what-is-that
- https://stackoverflow.com/questions/788348/how-do-i-free-my-port-80-on-localhost-windows


本文使用的是方式三解决的。
从零开始部署 Yapi(Windows+Nginx)的更多相关文章
- Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)
Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...
- 从零开始部署一个 Laravel 站点
从零开始部署一个 Laravel 站点 此文章为原创文章,未经同意,禁止转载. PHP Laravel Web Git 在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubun ...
- windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...
- 从零开始学 Java - Windows 下安装 Tomcat
谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...
- 从零开始学 Java - Windows 下安装 JDK
关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...
- 使用CSDN Code将网站部署到Windows Azure Website上
在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Windows Azure上.随着Windows Azure在国内的发布,我们发现,其实 ...
- (一)JAVA项目(非web项目)部署到windows服务器运行
[转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...
- 网站部署到Windows Azure Website上
使用CSDN Code将网站部署到Windows Azure Website上 在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Wind ...
随机推荐
- chcon命令详解
导读 chcon命令是修改对象(文件)的安全上下文,比如:用户.角色.类型.安全级别.也就是将每个文件的安全环境变更至指定环境.使用--reference选项时,把指定文件的安全环境设置为与参考文件相 ...
- vue中常用插件(货币、日期)
货币插件: 价格格式化 // https://github.com/vuejs/vuex/blob/dev/examples/shopping-cart/currency.js const digit ...
- vue + iview 怎样在vue项目下添加ESLint
参考:https://segmentfault.com/a/1190000012019019?utm_source=tag-newest 使用iview框架的MenuGroup标签,vscode报红, ...
- Linux下Qt创建共享库与链接共享库详解
随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库:或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库.本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的 ...
- 【C#】 堆和栈
前言 本文主要是讲解C#语言在内存中堆.栈的使用情况,使读者能更好的理解值类型.引用类型以及线程栈.托管堆. 首先感谢原文作者:Matthew Cochran 为我们带来了一篇非常好的文章,并配以大量 ...
- Object--Date--calendar--System--StringBuilder--基本数据类型包装类型
Object java.lang.Object类是Java语言中的根类,即所有类的父类 默认toString()方法打印的是对象在堆中的地址值 默认equals()方法比较的也是地址(String中对 ...
- Java如何调用C语言程序,JNI技术
Java为什么要调用C语言编写的程序因为涉及操作系统底层的事件,Java是处理不了的,例如用户上传一个视频文件,需要后台给视频加上水印,或者后台分离视频流和音频流,这个事Java就做不了,只能交给C语 ...
- Bing每日壁纸的RESTful接口实现
0x00 存在意义 权且当作Docker打包的练习. 显然可以通过构造请求获得每天的壁纸,但是如果想要优雅地在其它地方使用这一网络资源,封装一个RESTful API将会保证整洁美观,在编写CSS等场 ...
- GitHub+JSDelivr+PicGo+Typora免费白嫖高速稳定图床
0. 初衷1. 创建 GitHub 仓库2. 使用 jsDelivr 进行 CDN 加速3. 使用PicGo上传图片4. Typora 配置 PicGo 上传 0. 初衷 平时写文章,经常需要插入图片 ...
- Charles-模拟弱网环境
在做弱网测试时,经常需要模拟各种网络环境,Charles恰好也提供了网络限制的功能,我们可以在"Proxy->Throttle Settings"路径下找到它,如下图所示. ...



