Python+Django+Ansible Playbook自动化运维项目实战(一)

Python+Django+Ansible Playbook自动化运维项目实战


 一、入门引导

  • DevOPS
    DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
  • Django
  • python

自动化资产扫描发现

  • 基础
  1. paramkio登录扫描
  2. pexpect登录扫描
  3. telnetlib端口扫描
  4. nmap存活扫描
  5. 资产扫描作用
  • 进阶
  1. SDK调用扫描ESXI
  2. snmp网路设备
  3. KVM虚拟机扫描
  4. docker容器扫描

ansible 自动化任务

  1. ansible安装
  2. python ansible
  3. ansible adhoc
  4. ansible playbook
  5. 核心类调用
  • 进阶
  1. api接口封装
  2. 方法改写
  3. Redis消息存储
  4. Mongo事件日志

二、工程初识和环境搭建

1、自动化工程总体设计

  • 资产的自动化扫描发现
  • 用python程序扫描发现企业内部的所有资产,当资产出现变动能自动及时发现并完成资产变更.
  • 如:ip,硬件型号,SN,MAC,系统版本
  • ansible的自动化任务执行
  • 使用ansible的ad-hoc和playbook实现批量主机的自动化任务

2、python等基础环境安装

1)python安装

2)setuptools安装

3)pip工具安装

3、Mysql 、 Mongo 、 Redis 安装

1)MySQL安装:

apt-get install mysql-server

 

2)Mongo安装:

apt-get install mongodb

 启动/重启mongodb :/etc/init.d/mongodb start  / restart

 查看mongodb监听的端口 :netstat -luntp | grep mongo

 使用客户端模拟登陆mongodb:直接输入 mongo

 mongodb配置文件修改:

  vi /etc/mongodb.conf

# 将mongodb.conf 代码里面的bind_ip地址改成0.0.0.0
bind_ip =0.0.0.0

# 修改完保存后,记得重启mongodb

 

3)Redis安装:

apt-get install redis-server

修改配置文件:

 vim /etc/redis/redis.conf

# 将redis.conf中的bind 127.0.0.1 改成0.0.0.0
bind 0.0.0.0

# 修改保存后重启
/etc/init.d/redis-server start


# 模拟客户端连接redis服务端 ,直接输入:
redis-cli

 

4、让项目在Ubuntu中run起来

1)本项目是已经完工的,我们从GitHub上将项目拉取下来

git命令使用: git clone

git clone https://github.com/iopsgroup/imoocc

2)从工程中找到:requirements.tex 文件 ,我们在虚拟环境下运行

首先,创建虚拟环境:

mkvirtualenv imoocc  # 创建虚拟环境

workon imoocc  # 进入虚拟环境

 

然后,在imoocc虚拟环境中,install项目所依赖的环境:

pip install -r ./requirements.txt

 

3)在mysql中创建数据库,需要与项目中用到的数据保持一致

 

4)将项目中用到的数据表结构,迁移到本地数据库中:

# 执行下面两行代码
python manege.py makemigrations

python manage.py migrate

 

5)运行项目:

python manage.py runserver 0.0.0.0:8000

 三、DevOPS工程快速入门引导

1、Ipython 

 一个基于python的交互解释器。自动补全、历史记录、获得对象信息

安装:python/Script

pip install ipython

2、Ubuntu下创建django DevOPS工程项目

1)新建虚拟环境

mkvirtualenv devops_pro  # Ubuntu默认使用python2版本

2)home目录下新建目录:project

mkdir project

3)在虚拟环境下,进入project目录,安装django

pip install django==1.8.2

4)新建项目:mydevops

django-admin startproject mydevops

 此时,项目创建好了,进入mydevops目录,可以看到里面有:一个manage.py文件,一个mydevops目录

 

5)新建app

python manage.py startapp appname

 

转载于:https://www.cnblogs.com/Eric15/articles/9784977.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2019年python自动化运维进阶篇20期视频教程,百度网盘下载视频。 课程目录: ├─01第一天 │ 01.drf vue分享.mp4 │ 02.课程简单介绍.mp4 │ 03 helloworld.mp4 │ 04 httpRequest对象与httpResponse对象.mp4 │ 05 JsonResponse对象.mp4 │ 06 django template.mp4 │ 07 querydict对象.mp4 │ 08 数据库同步.mp4 │ 09 创建django用户.mp4 │ 10 用户登陆与练习.mp4 │ 11 知识点回顾.mp4 │ Reboot自动化班课件-devops7-1.pdf │ ├─02.第二天 │ 1 url配置及位置参数.mp4 │ 10 django日志配置三.mp4 │ 2 url配置关键字参数及额外参数.mp4 │ 3 类视图的实现一.mp4 │ 4 类视图示例.mp4 │ 5 类视图.mp4 │ 6 数据分页原理.mp4 │ 7 paginator与page对象.mp4 │ 8 django日志配置.mp4 │ 9 django日志配置二.mp4 │ Reboot自动化班课件-django-logging.pdf │ Reboot自动化班课件-第二天-django基础.pdf │ ├─03.第三天 │ 1 模型语法.mp4 │ 10 fq.mp4 │ 11 序列化.mp4 │ 12 listview作业讲解.mp4 │ 13 序列化模型练习.mp4 │ 14 模型关系-多对一.mp4 │ 15 模型关系-多对一操作.mp4 │ 17 模型关系-多对多.mp4 │ 18 模型关系-一对一.mp4 │ 19 模型关系-关联查询.mp4 │ 2 编写idc模型并同步到数据库.mp4 │ 3 django makemigrations.mp4 │ 4 迁移失败错误处理.mp4 │ 5 创建对象.mp4 │ 6 模型查询.mp4 │ 7 模型查询二.mp4 │ 8 删除对象.mp4 │ 9 更新对象.mp4 │ Reboot自动化班课件-第三天-模型关系.pdf │ Reboot自动化班课件-第三天django模型.pdf │ ├─04.第四天 │ 01 前后端分离.mp4 │ 02 序列化.mp4 │ 03 使用序列化.mp4 │ 04 使用序列化.mp4 │ 05 api_view.mp4 │ 06 root api.mp4 │ 07 apiview.mp4 │ 08 使用混合.mp4 │ 09 使用混合高级版.mp4 │ 10 viewset.mp4 │ 11 viewset扩展.mp4 │ 12 router.mp4 │ ops.tar.gz │ ├─05.第五天 │ 03 机柜.mp4 │ 04 序列化高级用法.mp4 │ 05 制造厂与型号.mp4 │ 06 服务器同步.mp4 │ 07 添加服务器.mp4 │ 1 用户资源.mp4 │ 2 idc资源与api文档.mp4 │ ├─06.第六天 │ 01 反序列化过程.51reboot.mp4 │ 02 服务器数据同步伪代码分析.51reboot.mp4 │ 03 服务器数据同步.51reboot.mp4 │ 04 分页.51reboot.mp4 │ 05 搜索.51reboot.mp4 │ 06 django权限管理.51reboot.mp4 │ 07 drf权限管理.51reboot.mp4 │ 08 drf自定义get权限.51reboot.mp4 │ 09 不使用queryset的viewset.51reboot.mp4 │ ├─07.第七天 │ 01vue 介绍.51reboot.mp4 │ 02vue渲染声明和属性绑定.51reboot.mp4 │ 03 vue 条件双向绑定和列表渲染.51reboot.mp4 │ 04 vue 事件处理.51reboot.mp4 │ 05 vue 双向绑定 v-model.51reboot.mp4 │ 06 vue 计算属性和侦听器.51reboot.mp4 │ 07 vue 生命周期.51reboot.mp4 │ 08 vue 组件化开发.51reboot.mp4 │ 09 vue 组件通信.51reboot.mp4 │ vue cli 工程.51reboot.mp4 │ ├─08.第八天 │ 01 vue-admin环境.51reboot.mp4 │ 02 vue对接drf.51reboot.mp4 │ 03 vuex.51reboot.mp4 │ 04 vuex-前端工程.51reboot.mp4 │ 05vueadmin-template 反向代理配置.51reboot.mp4 │ 06 vueadmin-template 路由配置.51reboot.mp4 │ 07 vueadmin api配置.51reboot.mp4 │ 08 vueadmin-template 查.51reboot.mp4 │ 09 vueadmin-template 查改.51reboot.mp4 │ 10 vueadmin-template idc增查删 .51reboot.mp4 │ 11 vueadmin-template idc改.51reboot.mp4 │ ├─09.第九天 │ 01 token认证.mp4 │ 02 jwt认证.mp4 │ 03 jwt认证过程.mp4 │ 04 前端框架.mp4 │ 05 用户列表.mp4 │ 06 用户搜索.mp4 │ 07 创建用户组.mp4 │ 08 修改与删除用户组.mp4 │ ops.2018-07-22.tar.gz │ vueAdmin.2018-07-22.tar.gz │ ├─10.第十天 │ 01 一对多与多对多处理.51reboot.mp4 │ 02 给用户组添加额外字段.51reboot.mp4 │ 03 服务器展示.51reboot.mp4 │ 04 cmdb(一).51reboot.mp4 │ 05 业务线管理.51reboot.mp4 │ 06 用户管理一.51reboot.mp4 │ 07 用户管理.51reboot.mp4 │ 08 接口权限控制.51reboot.mp4 │ 09 前端权限控制.51reboot.mp4 │ 10 zabbix.51reboot.mp4 │ 11 zabbix api client.51reboot.mp4 │ ├─11.第十一天 │ 01 sql上线平台功能.51reboot.mp4 │ 02 django2.0基础包.51reboot.mp4 │ 03 inception安装使用1.51reboot.mp4 │ 04 inception安装使用2.51reboot.mp4 │ 05 iview初始化.51reboot.mp4 │ 06 查代码功能.51reboot.mp4 │ 07 代码表设计.51reboot.mp4 │ 08 check sql 1.51reboot.mp4 │ 09 check sql 2.51reboot.mp4 │ frontend.zip │ sqlweb.zip │ src.zip │ ├─12.第十二天 │ 01 上次课回顾.51reboot.mp4 │ 02 用户管理前端1.51reboot.mp4 │ 03 前后端传数据.51reboot.mp4 │ 04 组的增删改查.51reboot.mp4 │ 05 用户增删改查.51reboot.mp4 │ 06 根据环境选择数据库和执行人.51reboot.mp4 │ 07 sql执行.51reboot.mp4 │ 08 sql回滚.51reboot.mp4 │ 09 部署.51reboot.mp4 │ 操作逻辑.pdf │ ├─13.第十三天 │ 01课前介绍.51reboot.mp4 │ 02最简单的序列化反序列化.51reboot.mp4 │ 03三种常见场景的序列化.51reboot.mp4 │ 04三种场景下的反序列化操作.51reboot.mp4 │ 06父组件传值给子组件思路及实战.51reboot.mp4 │ 07子组件传值给父组件思路及案例.51reboot.mp4 │ ├─14.第十四天 │ 01vue一对多多对多显示.51reboot.mp4 │ 02vue多对多添加及删除.51reboot.mp4 │ 03vue多对对更新操作及select2的使用.51reboot.mp4 │ 04用户权限管理系统简介.51reboot.mp4 │ 05工单系统申请及列表后端逻辑实现.51reboot.mp4 │ 06工单系统.51reboot.mp4 │ ├─15.第十五天 │ 01知识点回顾.mp4 │ 02运维体系介绍.mp4 │ 03工单复习.mp4 │ 04任务系统设计思路.mp4 │ 05文件上传.mp4 │ 06ansible简介.mp4 │ 07ansible的api使用.mp4 │ 08celery和发邮件.mp4 │ └─16.第十六天 01发布系统简介.mp4 02代码管理系统.mp4 03代码上线流程介绍.mp4 04jenkinsj.mp4 05jenkinsapi调用.mp4 06代码讲解.mp4
### 回答1: 在实现python+django+mysql的pdf转word项目中, 首先需要安装并配置好python, django, mysql环境。 其次, 可以使用第三方库如PyPDF2和python-docx来实现pdf文件的读取和word文档的生成。 在Django中建立数据模型, 实现文件上传, 存储, 下载等功能。 在mysql中建立数据库, 存储文件信息, 并在Django中连接数据库, 实现文件信息的增删改查功能。 最后, 使用Django中的视图和模板, 实现文件上传, 转换, 下载等操作的前端展示。 ### 回答2: Python是一门强大且灵活的编程语言,而Django则提供了一系列的便捷工具和框架,可快速搭建网站并处理后端逻辑。MySQL是一种流行的关系型数据库,被广泛应用于开发中。 本篇文章将介绍如何用Python Django和MySQL实现PDF转换为Word的项目。 首先,我们需要安装以下组件: 1. Python3:我们将使用Python3来搭建后端逻辑。 2. Django:一个流行的Python框架,用于创建网站。 3. pdfminer:一个Python库,可用于从PDF文件中提取文本数据。 4. python-docx:用于与Microsoft Word文件交互的Python库。 5. MySQL:关系型数据库,用于存储和管理数据。 在安装好这些组件后,我们可以开始编写代码了。 首先,我们需要在Django中创建一个应用,此应用将包含PDF文件上传和转换为Word文件的视图。 接下来,我们需要编写一个视图函数,用于将上传的PDF文件读取并将其文本内容提取出来。我们可以使用pdfminer这个Python库来提取PDF文本数据。我们还需要编写一个函数,将提取出的文本转换为Word格式,并将其储存在服务器上。 最后,我们需要使用MySQL进行数据的储存和管理。我们需要定义一个数据库模型,来创建一个表,此表将储存上传的PDF文件及其转换成的Word文件的路径和相关信息。我们还需要编写其他函数,用于从数据库中读取文件信息、显示转换后的文件等功能。 在整个项目中,需要注意安全性方面的问题,以防止上传恶意文件和系统漏洞的攻击。同时,我们还需要考虑网站性能问题,如何使用优化技术来加速文件上传和转换,减小数据库负载等。 综上所述,通过使用Python Django和MySQL,我们可以很方便地开发出一个PDF转Word的应用程序。它可以通过上传PDF文件将其转换为Word格式,并将其保存到MySQL数据库中。这种方法不仅实用,而且可扩展性强,易于维护和交付。 ### 回答3: Python是一门高级编程语言,它具有易读性,易学性,可维护性等优点,并且广泛应用于数据分析、人工智能等领域。DjangoPython的一个Web框架,它提供了强大的模板引擎、ORM等功能,使得Python快速开发Web应用变得轻而易举。而MySQL是一种关系型数据库,被广泛使用于Web开发和数据存储方面。 PDF转Word是一个常见的需求,因为Word是一个广泛使用的文档处理工具,而PDF则更适合用于展示和共享文档。因此,在实际工作中,有时候需要将PDF格式的文档转换为Word格式的文档。那么,我们可以通过Python Django MySQL来实现这个需求。 首先,我们需要安装相关的Python库,如pdfminer、python-docx和django-bootstrap3等。然后,在Django中创建一个应用,为项目添加视图函数和路由,实现上传PDF文件、转换为Word文件和下载Word文件的功能。其中,ORM可以用来操作数据库,保存上传的PDF文件和生成的Word文件,以及记录操作日志等信息。 其次,我们需要将PDF文件转换为Word文件。这里,我们可以使用pdfminer库来解析PDF文件,获取其中的文本内容,然后使用python-docx库来生成Word文件,并将文本内容写入其中。同时,在Word文件中添加合适的样式和格式,使得生成的Word文件更加美观和易读。 最后,我们需要将生成的Word文件提供给用户下载。这里,我们可以使用Django的HTTP响应机制,将生成的Word文件写入响应中,设置相应的响应头和Cookie,并返回给前端页面,让用户可以通过点击下载按钮下载并查看文件。 总之,通过Python Django MySQL来实现PDF转Word项目实战,既可以提高工作效率,也可以拓展自己的技能和知识,同时也可以增加项目实战经验,提升职业竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值