从零开始部署 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 ...
随机推荐
- pytorch之对预训练的bert进行剪枝
大体过程 对层数进行剪枝 1.加载预训练的模型: 2.提取所需要层的权重,并对其进行重命名.比如我们想要第0层和第11层的权重,那么需要将第11层的权重保留下来并且重命名为第1层的名字: 3.更改模型 ...
- vue 实现 leaflet的测绘,测距,测面
参考1:https://blog.csdn.net/lonly_maple/article/details/83658608 参考2:https://blog.csdn.net/xtfge0915/a ...
- 4种Golang并发操作中常见的死锁情形
摘要:什么是死锁,在Go的协程里面死锁通常就是永久阻塞了,你拿着我的东西,要我先给你然后再给我,我拿着你的东西又让你先给我,不然就不给你.我俩都这么想,这事就解决不了了. 本文分享自华为云社区< ...
- Hutool中那些常用的工具类和方法
Hutool中那些常用的工具类和方法 Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子.如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有.本文将对Hu ...
- Confluence7.4安装并破解汉化教程
Confluence是一款由JAVA编写用于企业知识库管理协同软件,多用于构建企业内部WIKI,支持多人协作,共享信息等. 当前系统环境Centos7.9,内存至少2G以上,数据库采用MySQL5.7 ...
- golang net/http包
http协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为 ...
- mysqli的基本使用
简单实例 面向过程方式 // 创建数据库连接 $connect = mysqli_connect('127.0.0.1', 'root', 'root', 'test', 8889); // 判读是否 ...
- springMVC学习总结(二) --springMVC表单处理、标签库、静态文件处理
根据springMVC学习总结(一) --springMVC搭建 搭建项目 一.表单处理 1.创建两个java类 Student.java, StudentController.java. 2.在js ...
- 五分钟搞懂MySQL索引下推
大家好,我是老三,今天分享一个小知识点--索引下推. 如果你在面试中,听到MySQL5.6"."索引优化" 之类的词语,你就要立马get到,这个问的是"索引下推 ...
- .Net 如何修改 HttpHeaders 中的 Content-Disposition
最近在看一些.Net5的内容,于是就想将之前Spring写的一个项目迁移到.Net上来看看. 不得不说.Net这几年发展的确实挺好的,超快的启动速度,极佳的性能让它一点不比Java差,但确实在国内生态 ...



