概述
YApi为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。
官方的部署文档,是建立在你的环境已经有nodejs和mongodb:https://hellosean1025.github.io/yapi/devops/index.html
本文描述的将是在一台新服务器上做部署,摘取多篇文章总结步骤。
环境要求
- CentOS 7.0 64位
- nodejs v8.11.2
- mongodb 4.0.0
安装mongodb
1、去官网找到安装包地址,复制下来。
我使用的安装包地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
2、使用SSH登录服务器,找一个文件夹存放安装包,我这里使用的是 /usr
$ cd /usr
$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
3、解压缩安装包,并重命名文件夹。
$ tar zxvf mongodb-linux-x86_64-4.0.0.tgz
$ mv mongodb-linux-x86_64-4.0.0 mongodb
4、配置环境变量
$ vim /etc/profile
在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
#Set Mongodb
export PATH=/usr/mongodb/bin:$PATH
保存后通过下面的命令使环境变量生效:
$ cd ~
$ source /etc/profile
5、创建数据库目录
$ cd /usr/mongodb
$ touch mongodb.conf
$ mkdir db
$ mkdir log
$ cd log
$ touch mongodb.log
6、修改mongodb配置文件
vim /usr/mongodb/mongodb.conf
添加以下内容
port=27017 #端口
dbpath= /usr/mongodb/db #数据库存文件存放目录
logpath= /usr/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
noauth=true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
7、设置文件夹权限
$ cd /usr/mongodb
$ chmod 777 db
$ chmod 777 log
8、启动mongodb
$ cd ~
$ mongod --config /usr/mongodb/mongodb.conf
9、远程连接mongodb
官网下载robo 3t https://robomongo.org/download,使用工具连接,如果不会使用工具请自行百度图文教程。
10、如何关闭数据库
查看pid
$ ps aux |grep mongodb
$ sudo kill 5314
即可关闭数据库。
到此,mongoDB安装配置完成。接下来我们给数据库设置密码授权登录。
1、修改前文提到的conf文件,命令如下:
$ cd /usr/mongodb
$ vim mongodb.conf
把noauth那一行,前面加上#,注释掉。
再在最后一行添加 auth = true
完整配置如下:
port=27017 #端口
dbpath= /usr/mongodb/db #数据库存文件存放目录
logpath= /usr/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
#noauth = true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
auth = true #用户认证
保存退出。
2、关闭数据库,前文已经提到了方法,我这里只做操作,如图:
3、启动数据库,请参照前文方法,如图:
4、定位到mongoDB安装的bin目录
$ cd /usr/mongodb/bin
$ ./mongo ##打开数据库
5、依次执行下列命令 添加用户名
//使用admin数据库
use admin
//给admin数据库添加管理员用户名和密码,用户名和密码请自行设置
db.createUser({user:"admin",pwd:"123456",roles:["root"]})
//验证是否成功,返回1则代表成功
db.auth("admin", "123456")
//给yapi数据库设置密码
use yapi
//为yapi创建用户,用户名和密码请自行设置。
db.createUser({user: "yapi", pwd: "123456", roles: [{ role: "dbOwner", db: "yapi" }]})
执行完后,ctrl + c结束shell,并通过关闭,打开进行重启数据库。
6、通过robo 3t连接。
connection标签页
authentication标签页
ssh标签页
点击save后,连接即可,如果出现报错,请核对自己输入的信息是否有误。mongodb转自文章:(https://www.jianshu.com/p/994bc7b19b26)
安装nodejs
参考文章:https://blog.csdn.net/m0_38110132/article/details/80390072
部署YApi
参考文章:https://www.cnblogs.com/zjjing/p/13540934.html
安装Supervisor
参考文章:https://www.cnblogs.com/Hai--D/p/5820718.html