热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高

本文给大家介绍如何利用 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 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



推荐阅读
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文讲述了一位80后的普通男性程序员,尽管没有高学历,但通过不断的努力和学习,在IT行业中逐渐找到了自己的位置。从最初的仓库管理员到现在的多技能开发者,他的职业生涯充满了挑战与机遇。 ... [详细]
  • 在运行于MS SQL Server 2005的.NET 2.0 Web应用中,我偶尔会遇到令人头疼的SQL死锁问题。过去,我们主要通过调整查询来解决这些问题,但这既耗时又不可靠。我希望能找到一种确定性的查询模式,确保从设计上彻底避免SQL死锁。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • 本文总结了软件工程课程M1和M2阶段的个人收获,包括项目开发中的技术学习、团队协作及管理经验。同时,对《构建之法》一书中的相关问题进行了理解和分析。 ... [详细]
  • Java作为全球最流行的编程语言之一,应用广泛。本文将详细介绍Java开发的相关岗位及其具体职责,帮助读者更好地了解这一领域的职业发展路径。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
author-avatar
迪迪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有