時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
Apahce服務(wù)器是一個穩(wěn)定的、商業(yè)性的和公開程序源代碼的HTTP服務(wù)器。其在HTTP市場中占有主導(dǎo)性的地位。據(jù)權(quán)威部門統(tǒng)計,Apache服務(wù)器的市場占有率大概在60%左右,可見其市場的影響力。因為Apache服務(wù)器可以提供HTTP通信協(xié)議的標準平臺,所以無論是在商業(yè)領(lǐng)域又或者是在實驗領(lǐng)域其都可以幫助企業(yè)建立一個穩(wěn)定的WEB應(yīng)用環(huán)境。在這里筆者廢話就不說了,只說說在配置Apache服務(wù)器過程中我認為比較重要的兩個內(nèi)容。
一、靈活應(yīng)用重定向功能。
有時候處于某些原因,如添加硬盤或者升級服務(wù)器的需要,系統(tǒng)管理員需要更改WEB服務(wù)器中網(wǎng)頁的存儲位置。此時該如何讓WEB服務(wù)器了解這個變更的信息呢?如果一張張的去更改網(wǎng)頁的位置,顯然工作量太大。在某些WEB服務(wù)器中,是通過相對路徑來解決這個問題的。只要把跟文件夾移動到另一個位置,然后只需要更改根文件夾的位置,那么這個文件夾中的網(wǎng)頁內(nèi)容,由于采取了相對路徑為此就不需要一一進行調(diào)整的。不過在Apache服務(wù)器中則是采取了另外一種獨特的處理機制,即重定向功能。
由于當客戶端瀏覽器向WEB服務(wù)器請求訪問某一個網(wǎng)頁時,WEB服務(wù)器會先找出這個URL地址所指向的網(wǎng)頁,然后把網(wǎng)頁的內(nèi)容回傳給瀏覽器??梢匀绻到y(tǒng)管理員由于特定的需要移動了WEB站點網(wǎng)頁的位置時,就很難保證所有指到舊網(wǎng)頁地址的連接全部更改成新的位置。在遇到這種情況的時候,系統(tǒng)管理員需要對涉及到的連接進行一一測試并調(diào)整,以保證連接的正確性。顯然這個手工調(diào)整的工作量很大,因為某個網(wǎng)頁中涉及到的連接可能會有成百上千條。一一更改這些連接所需要耗費的工作量不是小數(shù)目。即使數(shù)量比較少,但是讓系統(tǒng)管理員手工重復(fù)的更改這些信息,他們也不在愿意做,因為太沒有挑戰(zhàn)性。為此,能否有一次性更新的方法呢?就好像在數(shù)據(jù)庫中,利用Where語句把需要更新的內(nèi)容查找出來然后再利用Update語句把需要更新的內(nèi)容進行一次性調(diào)整。在Apache服務(wù)器中就是這么實現(xiàn)的。如指需要在Apache服務(wù)器命令行環(huán)境中使用命令redirect 舊URL地址 新URL地址即可。第一個參數(shù)舊URL地址就好像是一個查詢條件,把符合這個條件的記錄查找出出來(其他網(wǎng)頁指向這個網(wǎng)頁的地址);然后利用新的URL地址進行替換。如此到客戶端請求訪問這個網(wǎng)頁時,瀏覽器就會把新的網(wǎng)頁內(nèi)容返回給客戶端。注意此時客戶端發(fā)出的請求采用的是舊的WEB地址(客戶端并不知道在服務(wù)器后臺所做的修改),而WEB服務(wù)器發(fā)現(xiàn)網(wǎng)頁位置更改過后,就會重定向客戶端網(wǎng)頁訪問的請求。把客戶端的發(fā)送的舊地址利用新地址來代替。這就是Apache服務(wù)器所采取的重定向機制。
利用這個重定向功能不僅可以解決網(wǎng)頁位置變動的問題,而且還有其他一些有用的用途。如當在對網(wǎng)頁進行改變或者新添加功能的時候,可能需要在短時間內(nèi)中止用戶的訪問。如有些論壇出于合并的需要,或者可能被黑客攻擊而不得不暫時中止訪問。此時為了表示對訪問者的歉意,他們往往希望能夠把客戶的訪問請求連接到一個特殊的頁面中。在這個頁面中會表明這個網(wǎng)站暫時關(guān)閉的原因以及在此開發(fā)的時間。讓訪問者看到這個信息之后能夠知道這只是暫時關(guān)閉,而不是永久性的關(guān)閉。這有利于穩(wěn)住老客戶的心,讓好不容易才積累起來的客戶群不丟失。其實這也可以通過重定向功能來實現(xiàn)。如系統(tǒng)管理員預(yù)先定義好一個網(wǎng)頁,然后在需要的時候利用重定向功能更新網(wǎng)站地址即可。等到故障恢復(fù)之后,再啟用原先的連接。
所以說,Apache服務(wù)器中重定向功能是一項很有用的內(nèi)容。其不僅可以用來完成其他服務(wù)器上的相對路徑的功能,而且還可以完成其所不具備的內(nèi)容。如果Linux系統(tǒng)管理員要用Apache服務(wù)器來實現(xiàn)企業(yè)的HTTP服務(wù)器的話,則重定向功能無疑是其必須掌握的一項功能。
二、緩存設(shè)置。
在這里講的緩存,給其他應(yīng)用服務(wù)器上所說的高速緩存是兩個完全不同的概念,系統(tǒng)管理員不能夠混為一談。其他應(yīng)用服務(wù)器講的高速緩存往往是指把用戶的內(nèi)容保存在內(nèi)存中。但是由于內(nèi)存的容量有限,為此保存的內(nèi)容并不是很多。但是由于網(wǎng)頁中往往包含著比較豐富的圖片、動畫、背景音樂等信息,為此光憑內(nèi)存中這點容量往往起到的作用有限。為此在Apache服務(wù)器中其實現(xiàn)了一種基于硬盤的數(shù)據(jù)緩存技術(shù)。在Apache服務(wù)器中所講的緩存,是指將客戶端上一次請求所得到的信息,如網(wǎng)頁的內(nèi)容、圖片等信息,保存在服務(wù)器的硬盤中(而不是內(nèi)存上)。當客戶端下次請求同一個信息時,即可將此內(nèi)容立即響應(yīng)給客戶端。如此就可以大幅度的降低網(wǎng)頁的響應(yīng)時間,可以提供更高速的網(wǎng)絡(luò)應(yīng)用效率。由于硬盤往往沒有內(nèi)存空間的限制,為此可以緩存更多的內(nèi)容。在這著Apache服務(wù)器的緩存功能時,主要抓住以下幾個方面的問題。
1、緩存的容量設(shè)置。雖然說硬盤的空間比較大,但是還是必須為數(shù)據(jù)緩存設(shè)置一個最大的上限。否則的話日積月累,服務(wù)器硬盤遲早會被這個數(shù)據(jù)緩存所消耗光。故啟用數(shù)據(jù)緩存技術(shù)后,系統(tǒng)管理員不要忘了應(yīng)該立即采用CacheSize參數(shù)來設(shè)置這個緩存的上限。當服務(wù)器對緩存容量進行檢查時,如果超過這個最高的限制,則服務(wù)器會將超過部分的內(nèi)容刪除。注意這個參數(shù)的單位是KB,如果需要這只2M緩存的話,就需要把這個參數(shù)的值設(shè)置為2048。這個值到底該設(shè)置多少呢?沒有一個固定的標準。要根據(jù)服務(wù)器所提供的內(nèi)容來判斷。如果服務(wù)器中有大量動畫、電影等等,則最好能夠設(shè)置比較大的緩存空間。如此的話訪問同一資源的人越多,后續(xù)的訪問者借助數(shù)據(jù)緩存技術(shù)就能夠得到比較好的訪問速率。
2、檢查數(shù)據(jù)緩存的時間間隔。服務(wù)器會定時的檢查數(shù)據(jù)緩存空間。一是要保證這個數(shù)據(jù)緩存的空間在最大的限值之內(nèi);二是需要了解數(shù)據(jù)緩存中內(nèi)容是否有及時更新。 默認情況下,這個更新時間是由Apache服務(wù)器的CacheGcinterval參數(shù)來確定,默認值為4小時。根據(jù)服務(wù)器用途的不同,可以更改這個值。如服務(wù)器是一個提供及時新聞的服務(wù)器,那么這個值就需要設(shè)置的少一點。在啟用數(shù)據(jù)緩存的情況下,就需要啟用這個參數(shù)。如果沒有啟用這項功能的話,則服務(wù)器就不會對緩存中的內(nèi)容進行檢查,也就不會將超過緩存最高容量上限的內(nèi)容進行自動刪除。這就會導(dǎo)致硬盤空間逐漸被消耗,直道占滿整個硬盤為止。在設(shè)置這個參數(shù)的時候,往往需要在硬盤空間與數(shù)據(jù)有效性之間進行抉擇。有時候系統(tǒng)管理員必須要不斷的調(diào)整、追蹤后才能夠最終確定一個合理的參數(shù)。
另外,往往這個參數(shù)會跟CacheLastMoidffiedFaor參數(shù)一同使用。顧名思義,這個參數(shù)主要用來數(shù)據(jù)緩存空間中文件更新的,不過這不是一個簡單的時間參數(shù),而是一個時間系數(shù)。在Apache服務(wù)器中是根據(jù)這個系數(shù)來計算緩存文件中的過期時間。如數(shù)據(jù)緩存中的某個文件起最后改動到目前已經(jīng)有30個小時,而這個參數(shù)為0.1(默認值),那么過期時間就是這兩個值的乘積,即為3小時。在3個小時之后,會自動把這個數(shù)據(jù)緩存文件刪除(前提是啟用了上面這個數(shù)據(jù)緩存的時間間隔參數(shù))。這可以節(jié)省數(shù)據(jù)緩存的空間,提高硬盤的利用率;同時也可以保證數(shù)據(jù)緩存中信息的有效性。
3、禁用緩存。其實并不是所有網(wǎng)站都需要這個數(shù)據(jù)緩存。如對于一些提供基金凈值或者股票動態(tài)信息的網(wǎng)站,則不需要采用數(shù)據(jù)緩存。因為這些網(wǎng)站的信息時效性比較高。一般來說,內(nèi)容經(jīng)常需要變動的網(wǎng)站不需要數(shù)據(jù)緩存技術(shù)。若采用這種技術(shù)的話,有可能是搬起石頭砸自己的腳。為此如果需要禁用這個數(shù)據(jù)緩存的話,則可以利用NoCahce指令來禁用這個數(shù)據(jù)緩存的功能。如果在一臺服務(wù)器上采用了虛擬主機等技術(shù)實現(xiàn)多個網(wǎng)站的話,還可以根據(jù)網(wǎng)站的用途不同,來進行分別設(shè)置。如把提供及時信息的新聞或者基金等網(wǎng)站設(shè)置為禁用緩存,而把其他的網(wǎng)站設(shè)置為采用緩存。甚至還可以根據(jù)地址來為特定的網(wǎng)頁來啟用或者禁用數(shù)據(jù)緩存。顯然,Apache數(shù)據(jù)緩存管理機制要比其他應(yīng)用服務(wù)器靈活的多。
關(guān)鍵詞標簽:Linux,Apache服務(wù)器
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負載