从零开始部署 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
本文使用的是方式三解决的。