儘管在前面我們用大量的篇幅來描述怎麼部署乙個cdn
環境,但這卻不是我們的日常工作(實際工作場景沒有誰成天在那裡部署
cdn環境)。部署和上線
cdn,只是乙個開始,執行和維護好這個環境,才是最關鍵的地方所在。
更新的指令碼
【注1】):
1、 登陸某個linux
伺服器,為安全起見,最好是乙個無重要服務的主機。
2、 編寫乙個快取伺服器的所有ip
位址和對應密碼的列表(如圖
7-7所示),檔案儲存為
/usr/local/bin/passwd.txt,
其許可權設定為
700(
只有root
使用者有讀寫執行許可權)。
圖7-7 passwd.txt
檔案片段
3、 編寫expect
指令碼,用以實現自動應答
ssh遠端連線。此指令碼命名為
ssh.exp,
也把它放在
/usr/local/bin
目錄裡,器內容如下:
#!/usr/bin/expect
set password [lrange $argv 0 0]
set ipaddr [lrange $argv 1 1]
set scriptname [lrange $argv 2 2]
set arg1 [lrange $argv 3 3]
set timeout -1
spawn ssh root@$ipaddr $scriptname $arg1
match_max 100000
expect "(yes/no)?" "password:" "*host "
interact
4、 編寫指令碼/usr/local/bin/
purge_cache.sh
,其內容為:
#!/bin/bash
cd /usr/local/bin
for i in `awk '' passwd.txt`
doj=`awk -v i="$i" '' passwd.txt`
ssh.exp $j $i purge.sh
done
5、 在每個快取伺服器上編寫指令碼/usr/local/bin/purge,sh
,其內容為:
#!/bin/sh
/usr/local/varnish/bin/varnishadm -t 127.0.0.1:3500 url.purge *$
6、 在每個快取伺服器上都執行一下指令碼/usr/local/bin/purge.sh,
檢查其運**況。
7、 現在再回到控**務器上,手動執行第「4
」步編寫的指令碼
/usr/local/bin/purge_cache.sh,
等待程式執行並檢視其輸出。
第二個常規性維護操作是備份資料。需要備份的資料有兩部分:配置檔案和資料檔案。在cdn
環境下,只有源站的**的資料需要備份,其它的備份操作都是針對配置檔案的,如
dns區檔案。
第三個常規性的操作是故障處理與恢復。因為整個cdn
是基於高可用的架構,即便出現故障也不會導致服務全部停止,因此服務的恢復就不會有什麼壓力;另外也因為有監控系統的報警,很容易就知道問題出在什麼地方。
再乙個維護操作可能是增加cdn
布點,這是使用者訪問量增大時需要採取的必然措施。因為整個
cdn環境是可擴充套件的架構,因此增加新的布點不會導致服務停止。
【注1】需要在指令碼接受多個命令列引數。有興趣的讀者,可自行編寫乙個指令碼。
執行維護2
軟體執行,主要是指軟體執行的環境,進入執行的條件,及執行期間的相關工作等。軟體執行的環境,主要包括軟體,硬體和網路等方面。1.軟體 主要指作業系統,比如windowns linux等,也包括一些其他軟體。2.計算機硬體 主要指計算機的配置,比如cpu,記憶體,顯示卡,硬碟等。3.網路環境 主要指網路...
77 簡單的裝飾器
裝飾器的簡單用法 def color func defred return 033 31 1m s 033 0m func return reddef boy return hello boy color defgirl return hello girl if name main print bo...
簡單cdn之二
7.1.4cdn的基本原理 cdn的基本原理可概括為 內容快取 就近訪問以及以dns檢視方式根據使用者 確定其訪問位置。內容快取 快取伺服器從源站取得所需資料,然後暫存在本地的硬碟或記憶體。使用這種快取機制的好處是 1 內容自動更新 2 無多個伺服器資料相互同步問題。就近訪問 讓使用者的訪問請求轉向...