从零开始部署 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 ...
随机推荐
- asp.net core 搭建WebAPI微服务-----cosnul服务
参考网址:https://blog.csdn.net/weixin_42084199/article/details/108643555 在此之前需要准备的是: vs2019,以往版本不支持dotne ...
- wpf 绘图
- ArcGIS:从DEM数据提取对应点的高程
通过Extract Value to Points从DEM数据中提取所需点的高程. 方法/步骤 将DEM数据文件和一个shapefile点文件(分别命名为"DEM"和"P ...
- (3)hadoop单节点配置
hadopp版本hadoop-2.6.0-cdh5.7.0 下载地址http://archive-primary.cloudera.com/cdh5/cdh/5/ 同样使用flashFXP上 ...
- tomcat中修改Web站点的默认根目录
转自:http://blog.csdn.net/wzqcongcong/article/details/6387907 想把Tomcat的默认网站根目录修改成自己指定的目录,比如:F:/MyWeb.这 ...
- 写webpack插件报警告Tapable.plugin is deprecated. Use new API on .hooks instead解决方案,webpack4插件新写法
最近写了个小插件报了个警告,然后去百度了一下,全都给我说extract-text-webpack-plugin这个插件有问题要更新,我也是无语了,这个插件我用都没用,百度翻了下齐刷刷全是这个答案,搞得 ...
- 如何将excel中纵向的转换成横向保证格式不变,
先选定,复制,然后用--编辑---选择性粘贴--转置--确定.试试能不能实现 ,能把文件发过来看一下
- Ecplise项目导入IDEA(纯小白名词解释)
1. Module 模块 一个大的项目不仅仅是只有Java的源文件,还有数据库,服务器,web等等文件一起使用,将类似于这样分类的文件定义为 module 例如 core Module(核心).web ...
- Spring源码浅析之bean实例的创建过程(二)
在上一篇内容中,介绍了doGetBean方法的源码内容,知道了bean在创建的过程中,有三个范围,单例.多例.Scope,里面都使用到了createBean.下面本篇文章的主要内容,就是围绕creat ...
- php 字符串分割输出
分割字符串 //利用 explode 函数分割字符串到数组 复制代码代码如下:<?php $source = "hello1,hello2,hello3,hello4,hello5&q ...



