前言:
此刻咱们对“python运维开发教程”大体比较关心,看官们都需要了解一些“python运维开发教程”的相关资讯。那么小编也在网上网罗了一些对于“python运维开发教程””的相关文章,希望大家能喜欢,同学们一起来学习一下吧!Spug介绍
Spug 面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。界面UI基于阿里开源的知名前端UI框架Ant Design。
仓库和文档地址
环境Python 3.6+Django 2.2Node 12.14React 16.11功能特性批量执行: 主机命令在线批量执行在线终端: 主机支持浏览器在线终端登录文件管理: 主机文件在线上传下载任务计划: 灵活的在线任务计划发布部署: 支持自定义发布部署流程
配置中心: 支持KV、文本、json等格式的配置监控中心: 支持站点、端口、进程、自定义等监控报警中心: 支持短信、邮件、钉钉、微信等报警方式优雅美观: 基于 Ant Design 的UI界面开源免费: 前后端代码完全开源Docker安装
依赖环境
Docker现代浏览器
安装步骤
以下安装步骤使用 Centos7.x 操作系统。
1. 安装docker
$ yum install docker$ systemctl start docker
2. 拉取镜像
阿里云的镜像与 Docker hub 同步更新,国内用户建议使用阿里云的镜像。
$ docker pull registry.aliyuncs.com/openspug/spug
3. 启动容器
Docker镜像内部使用的 Mysql 数据库。
如果需要持久化存储代码和数据,可以添加:-v 映射容器内/data路径
$ docker run -d -p 80:80 registry.aliyuncs.com/openspug/spug# 持久化存储启动命令:# mydata是本地磁盘路径,/data是容器内代码和数据初始化存储的路径$ docker run -d -p 80:80 -v /mydata/:/data registry.aliyuncs.com/openspug/spug
4. 初始化
以下操作会创建一个用户名为 admin 密码为 spug.dev 的管理员账户,可自行替换管理员账户。
$ docker exec $CONTAINER_ID init_spug admin spug.dev# 执行完毕后需要重启容器$ docker restart $CONTAINER_ID
4. 访问测试
在浏览器中输入 访问。
用户名: admin 密码: spug.dev标准安装(详细看文档)
此安装文档适合具有一定编程能力基础的人员进行二次开发时的环境搭建,如果你是在生产环境部署,请参考 生产环境部署 文档。
依赖环境
Python 3.6及以上Nodejs 12.14 TLSRedis 3.x及以上现代浏览器
安装步骤
以下安装步骤假设项目安装在一台 macOS 系统的 /data/spug 目录下。
1. Clone项目代码
$ git clone https://***
2. 创建运行环境
$ cd /data/spug/spug_api$ python3 -m venv venv$ source venv/bin/activate$ pip install -r requirements.txt -i https://***
3. 初始化数据库
默认使用的 Sqlite 数据库。
$ python manage.py initdb
4. 创建默认管理员账户
$ python manage.py useradd -u admin -p spug.dev -s -n 管理员# -u 用户名# -p 密码# -s 超级管理员# -n 用户昵称
5. 启动 api 开发环境服务
$ python manage.py runserver
6. 安装前端依赖
可以把 npm 用 yarn 或 cnpm 代替。
$ cd /data/spug/spug_web$ npm install
7. 启动前端
$ npm start
8. 访问测试
正常情况下 npm start 会自动在浏览器中打开项目,如果未打开可以在浏览器中输入 访问。如果你按照上边的文档执行的话,在第 4 步创建了默认的管理员账户:
用户名:admin 密码:spug.dev
9. 其他可选服务
通过以上步骤已经可以正常访问 Spug 了,但一些功能依赖额外的服务,请参考以下文档(参考官方文档,此处不再叙述)
批量执行的任务卡住无法看到执行输出
任务计划模块添加的任务不会执行
监控中心模块添加的监控任务不会执行
总结
Spug:麻雀,麻雀虽小,五脏俱全。
PS:优秀的开源项目有很多,也欢迎小伙伴们分享推荐!