Linux服务器部署YApi和MongoDB配置
Linux服务器部署YApiYApi简介相关环境配置安装node.js安装MongoDB安装YApiYApi简介Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。● 权限管理YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求● 可视化接口管理基于 websocket 的多人协作接口编辑功能和类 postman 测
Linux服务器部署YApi和MongoDB配置
YApi简介
Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。
● 权限管理
YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求
● 可视化接口管理
基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率
● Mock Server
易用的 Mock Server,再也不用担心 mock 数据的生成了
● 自动化测试
完善的接口自动化测试,保证数据的正确性
● 数据导入
支持导入 swagger, postman, har 数据格式,方便迁移旧项目
● 插件机制
强大的插件机制,满足各类业务需求
相关环境配置
安装node.js
#准备
yum install -y wget
#下载安装
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
mkdir -p /usr/local/nodejs
tar -Jxvf node-v10.15.3-linux-x64.tar.xz -C /usr/local/nodejs/
#写入环境变量
echo "export PATH=/usr/local/nodejs/node-v10.15.3-linux-x64/bin:$PATH" >> /etc/profile
source /etc/profile
#查看版本信息
node -v
npm version
npx -v
安装MongoDB
- 更新yum
centos 的安装工具,安装时间稍长
yum -y update
- 添加MongoDB源文件
在/etc/yum.repos.d 创建一个 mongodb-org.repo 文件
touch /etc/yum.repos.d/mongodb-org.repo
编辑mongodb-org.repo文件
vim /etc/yum.repos.d/mongodb-org.repo
添加文件内容
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
- 安装MongoDB
yum install -y mongodb-org
- 启动mongodb
service mongod start
- 设置开机启动
chkconfig mongod on
- 配置远程访问
修改mongod.conf配置文件
vim/etc/mongod.conf
注释 bindIp: 127.0.0.1
#bindIp: 127.0.0.1
- 重启mongod
service mongod restart
部署YApi
安装AYpi
- 安装命令
npm install -g yapi-cli --registry https://registry.npm.taobao.org
- 启动服务
yapi server
- 启动可视化部署程序
按提示窗口上的地址打开浏览器
这时候你会发现根据http://ip地址:9090无法访问,是因为还未将防火墙的端口开放。
开放端口
- 阿里云安全组开放
将9090端口打开,此时还可以将YApi需要隐射的端口同时打开。
- 服务器防火墙端口开放
修改防火墙配置文件
centos7以下版本使用iptables
vi /etc/sysconfig/iptables
新增端口命令
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT
保存文件命令 :wq
重启防火墙
systemctl start firewalld.service
centos7以上版本使用firewalld
添加端口命令
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
重启服务
systemctl restart firewalld
查看服务列表
firewall-cmd --list-ports
其他命令
开启服务 systemctl start firewallds
关闭服务 systemctl stop firewallds
完成后http://ip地址:9090即可访问。
修改配置
- 修改默认信息
修改完成后,点击开始部署。
- 部署成功
切换部署目录,输入:“node vendors/server/app.js”指令启动服务器
我个人是在/root/my-yapi目录下
禁止注册
在开放注册的情况下,攻击者可以通过注册登录并注入恶意脚本从而执行任意命令,控制服务器,由于内网部署yapi,只是自己在用,所以禁止注册.
在 config.json 添加 closeRegister:true 配置项,和port同一级,就可以禁止用户注册 yapi 平台,修改完成后,请重启 yapi 服务器即可。
{
"port": "*****",
"adminAccount": "******",
"closeRegister":true,
"db": {
"servername": "127.0.0.1",
"DATABASE": "***",
"port": "***"
},
......
}
禁止注册后添加用户
禁止注册后我们如何添加用户呢,因为yapi平台上没有操作界面,所以我们只能通过操作数据库的方式来添加数据,这个需要用到mongo数据库的一些基本命令。
[root@i9z bin]# ./mongo 127.0.0.1:27017 //找到mongo安装bin目录,使用mongo命令连接数据库.,当然有用户和密码的需要用户名和密码登录
[root@i9z bin]# ./mongo --host 127.0.0.1 -u "myUserAdmin" --authenticationDatabase "admin" -p'abc123'
//执行后出现如下界面说明连接成功,可以开始使用了
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> //尖括号后边输入mongodb命令
------------------------------下边是一些基本命令-------------------------------
> show dbs //展示有哪些数据库类似mysql的show database
admin 0.000GB
config 0.000GB
local 0.000GB
yapi 0.151GB
> use yapi //表示使用哪个数据库,和mysql用法一样
switched to db yapi
> show collections //展示该数据库的表,类似mysql的show tables
> db.user.find(); //展示user表中的所有数据,类似mysql的select * from user;
> db.user.find(); //展示user表中的所有数据,类似mysql的select * from user;
>db.user.insert({"study":"*****", "type": "site", "username": "测试","password":"******","email":"ceshi@ceshi.com","passsalt":"******","role":"member","add_time":"1572687240","up_time":"1602233254","__v":"0"}); //user表中插入一条数据
MongoDB设置用户名密码
默认的mogodb是不用用户名密码也可以登陆的,但是这是不安全的。
- 登录服务器,输入命令
mongo
$ mongo
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("87c294f1-7517-4edd-86b2-4fc04f33839f") }
MongoDB server version: 4.0.3
- 输入
use dbname
,进入数据库
use dbname
switched to db dbname
- 设置数据库用户名,密码
db.createUser({user:"用户名",pwd:"r密码",roles:[{role:"root",db:"admin"}]});
Successfully added user: {
}
- 如何登录
进行第1、2步后,输入db.auth("用户名","密码")
进行认证。
> db.auth("用户名","密码")
1
返回码1表示认证成功。
认证成功后就可以查看数据表,或者进行其他操作啦。
查看数据库db.stats();
更多推荐
所有评论(0)