Django + Ansible 主机管理(有源码)

本文详细介绍Django框架和Ansible自动化运维工具的使用方法,包括Django的MVC设计思想、ORM技术,以及Ansible的安装配置、管理协议、ad-hoc命令、playbook剧本等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文给大家介绍如何利用 Django + Ansible 进行 Web 项目管理。

 

Django介绍

一个可以使 Web 开发工作愉快并且高效的 Web 开发框架,能够以最小的代价构建和维护高质量的 Web 应用。

所谓框架就是软件开发工程师从日常的重复劳动中总结出快速的、模块化的、安全的软件开发模式。

 

开发语言

Python

 

设计思想

MVC 与 ORM 计思想

 

MVC

M 模型 model

V 视图 view

C 控制器 controller

从下图中我们可以清晰形象的看出何为MVC设计模式:

 

 在 Django 中的 MTV

 

M 模型 Model 

  • 进行业务逻辑判断和数据存取

 

T 模板 Template

  • 将数据展示给用户

 

V 视图 View

  • 将用户请求数据传递给 Model
  • 将 Model 返回的数据传递给 Template

 

URLS

  • 用于配置 url 和 view 处理对应关系
  • 注:url 都使用/结尾配置

 

ORM

全称:Object Relation Mapping(关系对象映射)

  • 用来把对象模型表示的对象映射到基于 SQL 的关系模型数据库结构中去

在具体的操作实体对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作实体对象的属性和方法

 

Ansible介绍

ansible 是一套自动化运维工具,基于 Python 开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。

学习流程

  • 安装
  • 管理协议
  • 配置
  • ad-hoc
  • playbook
  • python api

 

安装

控制机器

pip install ansible==2.5.5
yum install sshpass

 

受控机器

yum install libselinux-python
yum install python2-simplejson(version < python2.4)

 

测试

echo localhost ansible_connection=local > hosts
ansible all -m ping -i hosts

 

管理协议

ansible 通过 ssh 协议对受控机器管理, 可使用口令和密钥对两种方式进行权限验证, 默认使用密钥对方式

 

在控制机器生成秘钥对

ssh-keygen -t rsa -b 4096 -C "kk"

 

添加到公钥到受控机器

 

远程拷贝添加

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

 

本地添加

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

测试

ssh root@xxx.xxx.xxx.xxx
echo xxx.xxx.xxx.xxx >> hosts
ansible all -m ping -i hosts

 

python api

  • 剧本&变量
  • playbook
  • 命令行选项
  • https://docs.ansible.com/ansible/latest/dev_guide/developing_api.html#python-api-example

 

整理资料

  • https://www.jianshu.com/p/1657f05e1f56
  • https://raw.githubusercontent.com/imsilence/ansible-doc/master/docs/ansible.png

 

关于 Django + Ansible 主机管理本来准备了很多东西要和大家,后来觉得还不如开个直博现场和大家分享,我知道很多人学习一样新东西的时候都死在了配环境上面了,没有人手把手指导怎么使用真的很绝望,因此在2018-11-29(周四)21:00-22:00,kk老师会直播给大家详细讲解 Django + Ansible,所谓技多不压身,想从事 web 开发的同学一定要去看一下呀!!!

 

2018-11-29(周四)21:00-22:00

将由我们的 KK 老师为我们详细解说《Django + Ansible 主机管理》

 

KK老师:

多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。

 

具体参与方式:扫码添加小助手 备注:公开课 拉入直播分享群

 

 

 

 

转载于:https://www.cnblogs.com/reboot51/p/10031318.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值