从零开始部署 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 ...
随机推荐
- WPF Popup 右下角提示框 定时消失 ,以及任意位置定位
------------恢复内容开始------------ 好久没写WPF的博客了,其实有很多心得要总结下,但是懒..... 今天工作需要,需要实现一个 1 右下角的提示窗口,然后过三五秒自动消失这 ...
- HbaseWAL
1.WAL意为 Write Ahead Log ,类似MySQL中的binlog,用来做灾难恢复之用,HLog记录数据的所有变更,一旦数据修改,就可以从Log中进行恢复. Hbase采用类LSM的架构 ...
- 刷题-力扣-63. 不同路径 II
63. 不同路径 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/unique-paths-ii/ 著作权归领扣网络所有.商业转 ...
- OpenCV入门系列教学(三)绘制几何形状及添加文本
一.绘制简单的几何形状和添加文本 opencv中绘制图形很简单,我们只需要使用下面这些常用函数即可. #画线 cv2.line() #画圆 cv2.circle() #画矩形 cv. rectangl ...
- 网络操作系统VyOS之NAT实践
本文基于 网络操作系统VyOS应用实践(四) 修改,完善了实验细节及1-to-1 NAT部分. NAT NAT即网络地址转换,最常见的就是各种虚拟机工具的NAT模式,让虚拟机以宿主的网络地址与外网通讯 ...
- LeetCode入门指南 之 动态规划思想
推荐学习labuladong大佬的动态规划系列文章:先弄明白什么是动态规划即可,不必一次看完.接着尝试自己做,没有思路了再回过头看相应的文章. 动态规划一般可以由 递归 + 备忘录 一步步转换而来,不 ...
- AbpVnext使用分布式IDistributedCache Redis缓存(自定义扩展方法)
AbpVnext使用分布式IDistributedCache缓存from Redis(带自定义扩展方法) 我的依赖包的主要版本以及Redis依赖如下 1:添加依赖 <PackageReferen ...
- 分布式系列-分布式ID
一.数据库自增(单实例) 1.方案描述 基于数据库自增ID(auto_increment)利用其来充当分布式ID.实现方式就是用一张表来充当ID生成器,当我们需要ID时,向表中插入一条记录返回主键ID ...
- Spring系列之不同数据库异常如何抽象的?
前言 使用Spring-Jdbc的情况下,在有些场景中,我们需要根据数据库报的异常类型的不同,来编写我们的业务代码.比如说,我们有这样一段逻辑,如果我们新插入的记录,存在唯一约束冲突,就会返回给客户端 ...
- 七、Abp vNext 基础篇丨文章聚合功能下
介绍 不好意思这篇文章应该早点更新的,这几天在忙CICD的东西没顾得上,等后面整好了CICD我也发2篇文章讲讲,咱们进入正题,这一章来补全剩下的 2个接口和将文章聚合进行完善. 开工 上一章大部分业务 ...



