MacOS 安装可视化接口管理平台YAPI
/** 暂时还没写 */
CentOS 安装可视化接口管理平台YAPI
注意:所有软件请参考官方文档下载并使用,尤其是版本的差异
一、安装前检查所需环境
1、查看系统信息
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2、查看Linux内核信息
$ uname -a
Linux xxx.com 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
3、查看npm的版本,没有则需要安装
$npm -v
6.4.1
4、查看当前NodeJS版本,没有则需要安装
$ node -v
v10.13.0
5、查看当前MongoDB版本,没有则需要安装
$ mongo -version
MongoDB shell version v4.2.8
git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distmod: rhel70
distarch: x86_64
target_arch: x86_64
6、查看当前Git版本,没有则需要安装
$ git -version
二、项目地址以及环境准备
1、Github地址:https://github.com/YMFE/yapi
2、Gitee地址:https://gitee.com/mirrors/YApi
3、官方环境要求
-
nodejs(7.6+)
-
mongodb(2.6+)
-
git
三、本地安装 & 内网安装
1、使用YAPI提供的yapi-cli工具安装
-
执行命令安装客户端工具
$ npm install -g yapi-cli --registry https://registry.npm.taobao.org
-
访问部署程序( http://[yapi部署的IP]:9000 ),输入配置信息,并点击 开始部署
(图片来自网络)
-
安装程序并初始化配置信息
不出意外,就是上面的命令打印信息,这是在执行并运行YAPI,初始化一些信息,此时可以查看控制台的输出(图片来自网络)
-
根据提示信息,访问项目,默认的项目访问地址:http://[YAPI部署IP]:3000/
注意:
1、需要注册才可以使用
2、官方提供的管理账号:admin@admin.com 密码: ymfe.org
-
YAPI使用操作指南
https://hellosean1025.github.io/yapi/documents/index.html
2、使用命令行安装
/** 暂时还没写 */
四、YAPI随CentOS系统启动并运行
CentOS 7 操作系统 systemctl 脚本存放在目录 /usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下
1、创建自定义服务文件
在系统服务位置,创建自定义服务启动文件:node-yapi.service
$ cd /usr/lib/systemd/system/
$ touch node-yapi.service
2、配置
在node-yapi.service文件中写入编写配置
[Unit]
Description=Service enabling Use Node start YAPI
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
# ExecStart=[node 安装path] [运行nodejs的path]
ExecStart=/opt/nodejs/node-v10.13.0-linux-x64/bin/node /opt/xxx/yapi/vendors/server/app.js
# 当前我这个么有停掉的命令
ExecStop=/bin/pkill yapi
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
具体配置参数说明请参考:https://www.cnblogs.com/feixiablog/p/10245411.html
3、开启自动启动 & 不开启自动启动
# 使某服务自动启动
$ systemctl enable node-yapi.service
# 使某服务不自动启动
$ systemctl disable node-yapi.service
4、查看服务状态
$ systemctl status node-yapi.service
node-yapi.service - Service enabling Use Node start YAPI
Loaded: loaded (/usr/lib/systemd/system/node-yapi.service; enabled; vendor preset: disabled)
Active: inactive (dead)
这个是我的服务还未启动,下面执行启动服务命令,把服务启动起来
5、启动自定义服务
$ systemctl start node-yapi.service
继续执行 查看状态命令,可以查看到自定义服务已经启动
node-yapi.service - Service enabling Use Node start YAPI
Loaded: loaded (/usr/lib/systemd/system/node-yapi.service; enabled; vendor preset: disabled)
Active: activating (start) since 四 2020-07-09 17:17:29 CST; 47min ago
Main PID: 97529 (node)
Tasks: 11
CGroup: /system.slice/node-yapi.service
└─97529 /XXXXXX/app.js
7月 09 17:17:29 xxx.com systemd[1]: Starting Service enabling Use Node start YAPI...
7月 09 17:17:30 xxx.com node[97529]: log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
7月 09 17:17:30 xxx.com node[97529]: log: 服务已启动,请打开下面链接访问:
7月 09 17:17:30 xxx.com node[97529]: http://127.0.0.1:3000/
7月 09 17:17:30 xxx.com node[97529]: log: mongodb load success...
6、打开启动的服务,查看效果并验证服务
http://[YAPI部署IP]:3000/
7、验证页面
(图片来自网络)
五、FAQ
1、手动导入用户到MongoDB数据库
下面语句需要输入
username 格式为xxx,也就是邮箱的前缀名称
email 格式为 xxx@yyy.com
默认密码为123456
// 登录MongoDB
$ mongo
// 切换数据库
$ use yapi;
// 执行导入操作
db.user.insert({"study" : true, "type": "site", "username": "", "password": "xxx", "email": "", "passsalt": "ddd", "role": "member", "add_time": 1594345812});
db.user.insert({"study" : true, "type": "site", "username": "", "password": "xxx", "email": "", "passsalt": "ddd", "role": "member", "add_time": 1594345812});
db.user.insert({"study" : true, "type": "site", "username": "", "password": "xxx", "email": "", "passsalt": "ddd", "role": "member", "add_time": 1594345812});
db.user.insert({"study" : true, "type": "site", "username": "", "password": "xxx", "email": "", "passsalt": "ddd", "role": "member", "add_time": 1594345812});
db.user.insert({"study" : true, "type": "site", "username": "", "password": "xxx", "email": "", "passsalt": "ddd", "role": "member", "add_time": 1594345812});
在此非常感谢技术经理给予支持,让我又学到很多知识。有事没事