首先感谢 leo-api-auto作者无私奉献,贴一段leo-api-auto的简介

LEO API测试平台简介
「LEO API测试平台」是一个免费开源的接口自动化测试平台。
既支持单个接口测试,也支持基于场景的接口测试用例,接口可串联执行,实现了接口间的数据依赖。
测试数据与测试用例分离,可根据环境设置不同测试数据,不同环境数据互不影响
平台支持定时任务功能,可设置定时任务,自动执行接口用例
平台支持文件上传接口测试,支持接口延迟调用
丰富的校验选项,支持返回状态码校验、响应时间校验、返回体校验、数值校验
平台支持接口Mock服务,可定制请求方法、返回状态码、返回体
简单、美观、易用的接口测试报告
平台支持权限管理,不同用户权限不同,避免普通用户随意变更敏感信息造成数据损坏
…更多功能…敬请期待…
推荐使用 Chrome 最新浏览器体验

项目地址
原作者已经写好了部署文档,这里只记录部署踩的坑

系统信息

Linux iZwz97s7gl62yqzh0k590iZ 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed
Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

CentOS 7.9.2009

准备工作

克隆项目,安装docker 没啥好说的,看文档就好

部署mongo

这里用的是作者的方式,

cd /home/
mkdir docker
cd docker
mkdir mongo
cd mongo
mkdir data logs conf
chmod 777 data
touch logs/mongod.log
chmod 777 logs/mongod.log
touch conf/mongod.conf
chmod 766 conf/mongod.conf
vim conf/mongod.conf

mongod.conf添加如下配置


# 数据库文件存储位置
dbpath = /data/db
# log文件存储位置
logpath = /data/log/mongod.log
# 使用追加的方式写日志
logappend = true
# 是否以守护进程方式运行
# fork = true
# 全部ip可以访问
bind_ip = 0.0.0.0
# 端口号
port = 27017
# 是否启用认证
auth = true
# 设置oplog的大小(MB)
oplogSize=2048

启动mongodb容器

docker run -itd --name mongodb --restart=always --privileged -p 27017:27017 -v /home/docker/mongo/data:/data/db -v /home/docker/mongo/conf:/data/configdb -v /home/docker/mongo/logs:/data/log/ mongo:latest -f /data/configdb/mongod.conf

–restart=always Docker服务重启容器也启动
–privileged 拥有真正的root权限
-f 指定配置文件

查看启动的容器并进入容器

docker container ps -adocker exec -it mongodb bash
mongo
use admin

好了,下面就是踩坑了
一直没有明白原文中的 更新apiAdmin和新建admin账号是做什么用,照着部署最后的结果是登录,注册页面爆
pymongo.errors.OperationFailure: Authentication failed
mongodb验证错误
查看源码也没有发现哪里有用到这两个账号,反而 /etc/profile 配置的root账号密码不通过

既然不明白,就暂时按照通用解决方式
删除新建的 mongodb 容器

docker rm mongodb

删除 data文件夹

rm -rf /home/docker/mongo/data

重新创建容器

docker run -itd --name mongodb --restart=always --privileged -p 27017:27017 -v /home/docker/mongo/data:/data/db -v /home/docker/mongo/conf:/data/configdb -v /home/docker/mongo/logs:/data/log/ mongo:latest -f /data/configdb/mongod.conf

进入容器,连接mongo,重新配置

docker exec -it mongodb bash
mongo
use admin
db.createUser({user:‘root’,pwd:’KaTeX parse error: Expected 'EOF', got '}' at position 27: …,roles:['root']}̲) db.auth('root…{password}’)
use leo-api-auto-db
db.createUser({user:‘root’,pwd:’${passowrd}’,roles:[{role:‘dbAdmin’,db:‘leo-api-auto-db’},‘readWrite’]})

${password} 换成自己的密码
输出 Successfully added user: {
“user” : “root”,
“roles” : [
{
“role” : “dbAdmin”,
“db” : “leo-api-auto-db”
},
“readWrite”
]
}
ok,mongo 配置完成

leo-api-auto 配置

编辑 /etc/profile

export LEO_API_PLATFORM_ENV=production
export LEO_API_PLATFORM_HOST=公网ip
export LEO_API_PLATFORM_PORT=9999
export LEO_API_PLATFORM_MONGO_HOST=172.17.0.1
export LEO_API_PLATFORM_MONGO_PORT=27017
export LEO_API_PLATFORM_MONGO_USERNAME=root
export LEO_API_PLATFORM_MONGO_PASSWORD=${password}
export LEO_API_PLATFORM_MONGO_DBNAME=leo-api-auto-db

LEO_API_PLATFORM_HOST 填写服务器的公网ip
LEO_API_PLATFORM_PORT 是指定项目的端口号,默认8888端口已被其他进程占用,所以这里改成9999
LEO_API_PLATFORM_MONGO_HOST docker宿主机ip ,通过ifconfig查出

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:f5:9f:6c:98 txqueuelen 0 (Ethernet)
RX packets 133727 bytes 142588216 (135.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 120170 bytes 287820454 (274.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

保存后执行 source /etc/profile

在 leo-api-auto根目录下启动
sh DeployService

输出
Successfully tagged leo-api-platform-backend:latest 启动完成

此时可以通过 docker ps 查看启动成功的两个容器
leo-api-platform-backend和mongo:latest

剩下的就是打开http://host:port/initAdminUser 初始化管理员账号并登录

记一次 leo-api-auto 部署踩坑记录相关推荐

  1. build vue 指定版本_vue buid及部署踩坑记录

    build 在vue项目build有两个需求:动态指定环境变量配置(dev.test.production环境打包时对应特定的环境变量配置) 减少项目build后的体积和加快项目build速度 动态指 ...

  2. 曹二众 / jeewms仓储管理系统本地部署踩坑记录

    链接地址:https://gitee.com/erzhongxmu/jeewms 码云上找到的gvp项目,仓储管理系统. 在本地idea部署时,遇到了如下的bug,特此记录下! 1.导入servlet ...

  3. Unity--升级Android api level 28踩坑记录

    背景:项目使用的Unity版本为5.4.4f1,Android targetSdkVersion为22,接到通知要求targetSdkVersion要升级到28(至少为26) 实践:直接将target ...

  4. virtualvenv+django+uWSGI+nginx 部署 踩坑记录

    原创博文 转载请注明出处! uwsgi: unrecognized option '--http:8089' uwsgi: unrecognized option '--http' uwsgi trk ...

  5. 记一次安装mysql服务的踩坑记录

    今天在搞sharding-jdbc做分库分表.读写分离的操作.为了更深刻的了解,于是自己就在本机搞了两个mysql服务.发现在创建表的时候总是报这个错 [Err] 1055 - Expression ...

  6. app接入支付宝api,支付宝付款踩坑记录

    服务器端用的netcore,需要安装一个nuget包: 然后就是重点: 第一步: 需要声明一个客户端对象来生成订单信息 static DefaultAopClient _alipayClient;pu ...

  7. Java 线上惨痛踩坑记录,你也一定遇到过

    线上问题年年有,今年特别多.记几次线上惨痛的踩坑记录,希望大家以史为鉴. 1. 包装类型自动解箱导致空指针异常 public int getId() { Integer id = null; retu ...

  8. Java线上惨痛踩坑记录,你也一定遇到过

    线上问题年年有,今年特别多.记几次线上惨痛的踩坑记录,希望大家以史为鉴. 1. 包装类型自动解箱导致空指针异常 public int getId() {Integer id = null;return ...

  9. 服务器重新部署踩坑记

    服务器重新部署踩坑记 Intro 之前的服务器是 Ubuntu 18.04 ,上周周末想升级一下服务器系统,从 18.04 升级到 20.04,结果升级升挂了... 后来 SSH 始终连不上,索性删除 ...

最新文章

  1. 基于python和OpenCV构建智能停车系统
  2. Gartner预测2019年十大「数据和分析技术」趋势:增强型分析成为重要卖点
  3. python histo 改变 bins 大小_子批次大小python
  4. java二重循环换行_Java零基础系列教程05Java二重循环
  5. 面向对象(方法的形式参数)
  6. 记录TCP协议使用Socket连接,客户端请求服务器read()阻塞问题
  7. proc文件系统面面谈(转贴)
  8. python 操作oracle 执行脚本_CentOS 7定时执行python脚本
  9. 简约大方干净明亮“现代简约细体字体”
  10. php session的一些理解
  11. win7注册表编辑已被管理员禁用怎么办
  12. 华师大 OJ 3036
  13. 用交叉网线连接两台电脑的局域网
  14. MySql中增加一列
  15. 一些常用的电脑词汇解释
  16. 使用java进行excel的读写,两种excel的区别以及easyexcel的使用
  17. 厘米换算英尺英寸 (15 分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是?
  18. 在Power BI中用DAX新建列的方式进行累计求和
  19. 使用nginx结合nginx-rtmp-module搭建rtmp流媒体服务器
  20. 小爱同学+8266的小爱语音台灯,基于Blinker库

热门文章

  1. spingCloud gateway:No qualifying....type ‘org.springframework.core.env.ConfigurableEnvironment‘启动报错
  2. HTML5参考手册:标签(按功能排列)
  3. 有哪些不起眼的兼职?鼎智宝库
  4. java设置代码自动提示_eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?...
  5. 【苹果群发】iMessage苹果推字符串访问权限,而我们在SSL推杆证书中的步骤相同
  6. DAZ Studio的dForce布料物理模拟系统
  7. 怎么关闭苹果手机自动扣费_爱奇艺怎么关闭自动续费
  8. 什么情况会导致 MySQL 索引失效?
  9. 求123456789-23456789-3456789-456789-...-9的值
  10. 1234567890-