中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django + Ansible 主機管理(附源碼)

發布時間:2020-08-31 22:04:14 來源:網絡 閱讀:1498 作者:xjtuhit 欄目:編程語言

本文分享內容如下:

內容目錄

Django 基礎

  • MVC
  • ORM
  • COMMAND
  • Authentication
    Ansible 基礎
  • 配置
  • ad-hoc 命令集
  • python api
    代碼解讀

演示

Django + Ansible 主機管理(附源碼)

創建虛擬化環境并進入
python3/python -m venv venv
(linux)source venv\bin\active
(win) venv\Scripts\active

安裝第三方庫
pip install -r requirements.txt

初始化
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

配置免密登陸&劇本文件
ssh-keygen -t rsa -b 4096
ssh-copy-id -i ~/.ssh/id_rsa root@xxx.xxx.xxx.xx
ssh root@xxx.xxx.xxx.xxx
echo xxx.xxx.xxx.xxx >> etc/hosts

運行
python manage.py runserver 0.0.0.0:8888
python manager.py fact

瀏覽器打開文件
http://xxx.xxx.xxx.xxx:8888

Django

一個可以使 Web 開發工作愉快并且高效的 Web 開發框架,能夠以最小的代價構建和維護高質量的 Web 應用

框架
軟件開發工程師從日常的重復勞動中總結出快速的、模塊化的、安全的軟件開發模式

開發語言
Python

設計思想
MVC
ORM

MVC

M 模型 model
V 視圖 view
C 控制器 controller
Django + Ansible 主機管理(附源碼)

在 Django 中的 MTV

M 模型 Model
進行業務邏輯判斷和數據存取

T 模板 Template
將數據展示給用戶

V 視圖 View
將用戶請求數據傳遞給 Model
將 Model 返回的數據傳遞給 Template

URLS
用于配置 url 和 view 處理對應關系
注:url 都使用/結尾配置

ORM

Object Relation Mapping(關系對象映射)
用來把對象模型表示的對象映射到基于 SQL 的關系模型數據庫結構中去
在具體的操作實體對象的時候,就不需要再去和復雜的 SQL 語句打交道,只需簡單的操作實體對象的屬性和方法

Command

開發者可為應用注冊后臺命令到 manage.py, 通過 python manage.py command 在命令行中執行程序

存放目錄:
app/management/commands

命名格式:
繼承自 BaseCommand 的 Command 類,并實現 handle 方法
Django + Ansible 主機管理(附源碼)

Authentication

  • Django 帶有用戶身份驗證系統,它處理用戶帳戶,組,權限和基于 cookie 的用戶會話。
  • 用戶認證
    創建用戶: python manage.py createsuperuser
    認證
    from django.contrib.auth import authenticate, login, logout
    user = authenticate(request, username=name, password=pwd)
    login(request, user)
    logout(request)

    from django.contrib.auth.decorators import login_required
    LOGIN_URL

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 &gt;&gt; ~/.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

代碼講解會在周四分享直播上詳解為大家解說(附加源碼鏈接:https://pan.baidu.com/s/1JAkJbCFDOfoNCEZ2voHPQA
提取碼:4soc )

2018-11-29(周四)21:00-22:00
將由我們的 KK 老師為我們詳細解說《 Django + Ansible 主機管理》

講師 KK:
多語言混搭開發工程師,多年 PHP、Python 項目開發經驗,曾就職 360、綠盟科技,7年工作經驗。擅長于 Web 安全開發、性能優化、分布式應用開發&設計等多方面,51Reboot 金牌講師。

具體參與方式:掃碼添加小助手wechat:17812796384 備注:公開課 拉入直播分享群
51Reboot 第 20 期 Python 零基礎入門班 正在火熱招生中

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

山阳县| 建昌县| 蓝田县| 武鸣县| 疏附县| 贵州省| 彭山县| 怀远县| 英超| 陕西省| 梅州市| 崇礼县| 沁阳市| 南通市| 米易县| 岢岚县| 黎川县| 威远县| 阿瓦提县| 伊春市| 惠水县| 襄城县| 兴山县| 司法| 江城| 蒙城县| 连云港市| 宜君县| 泸水县| 瑞丽市| 黄平县| 凌云县| 灌阳县| 泗洪县| 新竹县| 阆中市| 北票市| 江安县| 平湖市| 开远市| 讷河市|