yapi部署

一、在线安装

1、安装nodejs

下载压缩包,设置环境变量,这里不祥述。

2、安装mongodb

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 添加yum源
$ vim /etc/yum.repos.d/mongodb-3.4.repo

#添加下面的内容,wq保存。

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/RedHat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck= 0
enabled=1

# 安装mongodb
yum install -y mongodb-org
# 配置mongod
#启动:
$ service mongod start
[root@CENTSVR247 vendors]# mongo
> use admin #切换到admin数据库
switched to db admin
#创建dba用户
> db.createUser(
... ... {
... ... user: "dba",
... ... pwd: "dba",
... ... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... ... }
... ... )
# 创建yapi数据库
use yapi
switched to db yapi
给yapi数据库添加test1用户,权限为读写
db.createUser(
... ... {
... ... user: "test1",
... ... pwd: "test1",
... ... roles: [
... ... { role: "readWrite", db: "yapi" }
... ... ]
... ... }
... ... )

3、安装Yapi

官方说明:https://yapi.ymfe.org/devops/index.html

方式一:可视化部署

1
2
$ npm install -g yapi-cli --registry https://registry.npm.taobao.org
$ yapi server

图1
根据提示,浏览器访问 http://部署YApi服务器的IP:9090。
图2

填写完信息后,点击“开始部署”。(大概等待1分钟)
图3
图4
退出当前状态

CTRL + C

修改配置

这里我们不急着根据提示进行启动,有些参数我们可以通过修改配置达到。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#修改config.json

$ vim /root/my-yapi/config.json
修改下面的内容(邮箱可以不用163的),wq保存。

{
"port": "80",
"adminAccount": "yizitadmin@yizit.cn",
"db": {
"servername": "127.0.0.1",
"DATABASE": "yapi",
"port": "27017"
},
"mail": {
"enable": true,
"host": "smtp.163.com",
"port": 465,
"from": "可用于发送邮件的163邮箱",
"auth": {
"user": "163邮箱",
"pass": "163邮箱对应的密码或授权码"
}
}
}

启动

切换到部署目录下

cd /root/my-yapi
启动服务

1
$ node vendors/server/app.js

由于修改了配置,所以直接访问 http://部署YApi服务器的IP/login。

访问http://部署YApi服务器的IP:3000/login

默认用户密码:admin@admin.com ymfe.org
图5

方式二:命令行部署

安装yapi

1
2
3
4
5
6
$ mkdir yapi
$ cd yapi
$ git clone https://github.com/YMFE/yapi.git vendors //或者下载 zip 包解压到 vendors 目录
$ cp vendors/config_example.json ./config.json //复制完成后请修改相关配置
$ cd vendors
$ npm install --production --registry https://registry.npm.taobao.org

安装pm2

1
2
$ cd vendors
$ npm install -S pm2

初始化及启动yapi

1
2
$ npm run install-server //安装程序会初始化数据库索引和管理员账号,管理员账号名可在 config.json 配置
$ node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候

使用pm2启动方式

1
2
3
4
# 启动
$ npx pm2 start ./server/app.js
# 停止
$ npx pm2 stop all

二、离线安装

离线安装只能采用命令行部署方式

node安装

不再详述。

内网安装mongodb

解压mongodb-linux-x86_64-3.6.4.tgz并放入mongodb文件夹中

1
2
$ tar -zxvf mongodb-linux-x86_64-3.6.4.tgz
$ mv mongodb-linux-x86_64-3.6.4 mongodb

把mongodb放入环境变量中, 修改~/.bashrc, 加入以下内容

1
export PATH=<mongodb文件夹的路径>/bin:$PATH

验证安装

1
2
$ source ~/.bashrc
$ mongo --version

创建dbdata/db文件夹和dblog文件夹(请自行确保这些文件夹的读写权限)

1
2
$ mkdir -p dbdata/db
$ mkdir dblog

启动mongodb服务

1
$ sudo ./mongodb/bin/mongod --fork --dbpath ./dbdata --logpath ./dblog/log

配置

参考上文mongodb配置。

离线安装yapi

在一台连接互联网的pc上安装node环境

在外网机器获取yapi源码并安装依赖
使用git获取yapi源码, 如果没有git命令请按照对应平台的安装方法安装git.

创建一个新文件夹yapi, 使用clone将yapi源码放入vendors中:

1
2
3
4
5
6
$ mkdir yapi
$ cd yapi
$ git clone https://github.com/YMFE/yapi.git vendors
$ cp vendors/config_example.json ./config.json
$ cd vendors
$ npm install --production

我这里还安装了pm2

1
$ npm n install -S pm2

将创建的yapi文件夹打成压缩包得到yapi.tar.gz(其目录下有config.json和vendors)

1
$ tar -czf yapi.tar.gz yapi

至此, 所有需要外部网络的操作已经完成, 可以进行内网部署.

启动yapi

解压yapi.tar.gz

1
$ tar -zxvf yapi.tar.gz

按需要修改yapi/config.json中的相关配置(例如管理员账号等)

初始化数据库:

1
2
$ cd ./yapi/vendors
$ npm run install-server

使用pm2启动

1
$ npx n pm2 start ./server/app.js

启动完成后即可尝试访问yapi看是否成功, 具体地址要根据内网机器的ip和在config.json中配置的端口号

如果要关闭yapi服务, 可以使用

1
$ npx n pm2 stop all

问题总结:

两种方式安装yapi,按照正常方式安装都是无法安装的,有如下错误

方式1图形界面,yapi server 启动9090服务后,页面无法打开,会报错误,原因是无网络。
方式2命令行安装,npm install –production 回报git错误,因需要联网git操作,原因无网络,npm使用私库代理也不行。

参考资料:

https://yapi.ymfe.org/devops/index.html

http://stlighter.github.io/2018/04/19/yapi%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2/

https://www.linuxidc.com/Linux/2018-01/150513.htm

https://blog.csdn.net/luwei42768/article/details/78919073

-------------本文结束感谢您的阅读-------------

本文标题:yapi部署

文章作者:OperationMAN

发布时间:2018年08月16日 - 17:08

最后更新:2022年03月31日 - 13:03

原始链接:https://kxinter.gitee.io/2018/08/16/yapi部署/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!