在Linux上如何安裝Fabric

這篇文章主要介紹在Linux上如何安裝 Fabric,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十多年品質(zhì),值得信賴!

Fabric 是一個(gè)用 Python 編寫(xiě)的命令行工具庫(kù),它可以幫助系統(tǒng)管理員高效地執(zhí)行某些任務(wù),比如通過(guò) SSH  到多臺(tái)機(jī)器上執(zhí)行某些命令,遠(yuǎn)程布署應(yīng)用等。

在使用之前,如果你擁有使用 Python 的經(jīng)驗(yàn)?zāi)軒湍愀玫氖褂?Fabric。當(dāng)然,如果沒(méi)有那也不影響使用 Fabric。

我們?yōu)槭裁匆x擇 Fabric:

  • 簡(jiǎn)單

  • 完備的文檔

  • 如果你會(huì) Python,不用增加學(xué)習(xí)其他語(yǔ)言的成本

  • 易于安裝使用

  • 使用便捷

  • 支持多臺(tái)機(jī)器并行操作

在 Linux 上如何安裝 Fabric

Fabric 有一個(gè)特點(diǎn)就是要遠(yuǎn)程操作的機(jī)器只需要支持標(biāo)準(zhǔn)的 OpenSSH 服務(wù)即可。只要保證在機(jī)器上安裝并開(kāi)啟了這個(gè)服務(wù)就能使用 Fabric  來(lái)管理機(jī)器。

依賴

  • Python 2.5 或更新版本,以及對(duì)應(yīng)的開(kāi)發(fā)組件

  • Python-setuptools 和 pip(可選,但是非常推薦)gcc

我們推薦使用 pip 安裝 Fabric,但是你也可以使用系統(tǒng)自帶的包管理器如 yum, dnf 或 apt-get 來(lái)安裝,包名一般是fabric 或  python-fabric。

如果是基于 RHEL/CentOS 的發(fā)行版本的系統(tǒng),你可以使用系統(tǒng)自帶的 EPEL 源 來(lái)安裝 fabric。

# yum install fabric   [適用于基于 RedHat 系統(tǒng)] # dnf install fabric   [適用于 Fedora 22+ 版本]

如果你是 Debian 或者其派生的系統(tǒng)如 Ubuntu 和 Mint 的用戶,你可以使用 apt-get 來(lái)安裝,如下所示:

# apt-get install fabric

如果你要安裝開(kāi)發(fā)版的 Fabric,你需要安裝 pip 來(lái)安裝 master 分支上***版本。

# yum install python-pip       [適用于基于 RedHat 系統(tǒng)] # dnf install python-pip       [適用于Fedora 22+ 版本] # apt-get install python-pip   [適用于基于 Debian 系統(tǒng)]

安裝好 pip 后,你可以使用 pip 獲取***版本的 Fabric。

# pip install fabric

如何使用 Fabric 來(lái)自動(dòng)化管理 Linux 任務(wù)

現(xiàn)在我們來(lái)開(kāi)始使用 Fabric,在之前的安裝的過(guò)程中,F(xiàn)abric Python 腳本已經(jīng)被放到我們的系統(tǒng)目錄,當(dāng)我們要運(yùn)行 Fabric 時(shí)輸入  fab 命令即可。

在本地 Linux 機(jī)器上運(yùn)行命令行

按照慣例,先用你喜歡的編輯器創(chuàng)建一個(gè)名為 fabfile.py 的 Python  腳本。你可以使用其他名字來(lái)命名腳本,但是就需要指定這個(gè)腳本的路徑,如下所示:

# fabric --fabfile /path/to/the/file.py

Fabric 使用 fabfile.py 來(lái)執(zhí)行任務(wù),這個(gè)文件應(yīng)該放在你執(zhí)行 Fabric 命令的目錄里面。

例子 1:創(chuàng)建入門的 Hello World 任務(wù):

# vi fabfile.py

在文件內(nèi)輸入如下內(nèi)容:

def hello(): print('Hello world, Tecmint community')

保存文件并執(zhí)行以下命令:

# fab hello

在Linux上如何安裝 Fabric

Fabric 工具使用說(shuō)明

例子 2:新建一個(gè)名為 fabfile.py 的文件并打開(kāi):

粘貼以下代碼至文件:

#!  /usr/bin/env python from fabric.api import local def uptime():     local('uptime')

保存文件并執(zhí)行以下命令:

# fab uptime

在Linux上如何安裝 Fabric

Fabric: 檢查系統(tǒng)運(yùn)行時(shí)間

讓我們看看這個(gè)例子,fabfile.py 文件在本機(jī)執(zhí)行了 uptime 這個(gè)命令。

在遠(yuǎn)程 Linux 機(jī)器上運(yùn)行命令來(lái)執(zhí)行自動(dòng)化任務(wù)

Fabric API 使用了一個(gè)名為 env 的關(guān)聯(lián)數(shù)組(Python 中的詞典)作為配置目錄,來(lái)儲(chǔ)存 Fabric 要控制的機(jī)器的相關(guān)信息。

env.hosts 是一個(gè)用來(lái)存儲(chǔ)你要執(zhí)行 Fabric 任務(wù)的機(jī)器的列表,如果你的 IP 地址是 192.168.0.0,想要用 Fabric  來(lái)管理地址為 192.168.0.2 和 192.168.0.6 的機(jī)器,需要的配置如下所示:

#!/usr/bin/env python from fabric.api import env     env.hosts = [ '192.168.0.2', '192.168.0.6' ]

上面這幾行代碼只是聲明了你要執(zhí)行 Fabric 任務(wù)的主機(jī)地址,但是實(shí)際上并沒(méi)有執(zhí)行任何任務(wù),下面我們就來(lái)定義一些任務(wù)。Fabric  提供了一系列可以與遠(yuǎn)程服務(wù)器交互的方法。

Fabric 提供了眾多的方法,這里列出幾個(gè)經(jīng)常會(huì)用到的:

  • run - 可以在遠(yuǎn)程機(jī)器上運(yùn)行的 shell 命令

  • local - 可以在本機(jī)上運(yùn)行的 shell 命令

  • sudo - 使用 root 權(quán)限在遠(yuǎn)程機(jī)器上運(yùn)行的 shell 命令

  • get - 從遠(yuǎn)程機(jī)器上下載一個(gè)或多個(gè)文件

  • put - 上傳一個(gè)或多個(gè)文件到遠(yuǎn)程機(jī)器

例子 3:在多臺(tái)機(jī)子上輸出信息,新建新的 fabfile.py 文件如下所示

#!/usr/bin/env python from fabric.api import env, run env.hosts = ['192.168.0.2','192.168.0.6'] def echo():     run("echo -n 'Hello, you are tuned to Tecmint ' ")

運(yùn)行以下命令執(zhí)行 Fabric 任務(wù)

# fab echo

在Linux上如何安裝 Fabric

fabric: 自動(dòng)在遠(yuǎn)程 Linux 機(jī)器上執(zhí)行任務(wù)

例子 4:你可以繼續(xù)改進(jìn)之前創(chuàng)建的執(zhí)行 uptime 任務(wù)的 fabfile.py  文件,讓它可以在多臺(tái)服務(wù)器上運(yùn)行 uptime 命令,也可以檢查其磁盤使用情況,如下所示:

#!/usr/bin/env pythonfrom fabric.api import env, runenv.hosts = ['192.168.0.2','192.168.0.6']def uptime(): run('uptime')def disk_space(): run('df -h')

保存并執(zhí)行以下命令

# fab uptime# fab disk_space

在Linux上如何安裝 Fabric

Fabric:自動(dòng)在多臺(tái)服務(wù)器上執(zhí)行任務(wù)

在遠(yuǎn)程服務(wù)器上自動(dòng)化布署 LAMP

例子 5:我們來(lái)嘗試一下在遠(yuǎn)程服務(wù)器上布署 LAMP(Linux, Apache, MySQL/MariaDB and PHP)

我們要寫(xiě)個(gè)函數(shù)在遠(yuǎn)程使用 root 權(quán)限安裝 LAMP。

在 RHEL/CentOS 或 Fedora 上

#!/usr/bin/env python from fabric.api import env, run env.hosts = ['192.168.0.2','192.168.0.6'] def deploy_lamp():     run ("yum install -y httpd mariadb-server php php-mysql")

在 Debian/Ubuntu 或 Linux Mint 上

#!/usr/bin/env python from fabric.api import env, run env.hosts = ['192.168.0.2','192.168.0.6'] def deploy_lamp():     sudo("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql")

保存并執(zhí)行以下命令:

# fab deploy_lamp

注:由于安裝時(shí)會(huì)輸出大量信息,這個(gè)例子我們就不提供屏幕 gif 圖了

現(xiàn)在你可以使用 Fabric 和上文例子所示的功能來(lái)自動(dòng)化的管理 Linux 服務(wù)器上的任務(wù)了。

一些 Fabric 有用的選項(xiàng)

  • 你可以運(yùn)行 fab -help 輸出幫助信息,里面列出了所有可以使用的命令行信息

  • –fabfile=PATH 選項(xiàng)可以讓你定義除了名為 fabfile.py 之外的模塊

  • 如果你想用指定的用戶名登錄遠(yuǎn)程主機(jī),請(qǐng)使用 -user=USER 選項(xiàng)

  • 如果你需要密碼進(jìn)行驗(yàn)證或者 sudo 提權(quán),請(qǐng)使用 –password=PASSWORD 選項(xiàng)

  • 如果需要輸出某個(gè)命令的詳細(xì)信息,請(qǐng)使用 –display=命令名 選項(xiàng)

  • 使用 --list 輸出所有可用的任務(wù)

  • 使用 --list-format=FORMAT 選項(xiàng)能格式化 -list 選項(xiàng)輸出的信息,可選的有 short、normal、 nested

  • --config=PATH 選項(xiàng)可以指定讀取配置文件的地址

  • -–colorize-errors 能顯示彩色的錯(cuò)誤輸出信息

  • --version 輸出當(dāng)前版本

以上是“在Linux上如何安裝 Fabric”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:在Linux上如何安裝Fabric
鏈接分享:http://bm7419.com/article28/pssocp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈網(wǎng)站營(yíng)銷、云服務(wù)器、標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化