1.安裝Apache服務器?
在安裝Red?Hat?Linux?9.0時,會提示是否安裝Apache服務器。如果不能確定是否已經安裝,可以在終端命令窗口輸入以下命令:?
[root@ahpeng?root]?rpm?-qa?|?grep?httpd?
如果結果顯示為“httpd-2.0.40-21”,則說明系統已經安裝Apache服務器。?
如果安裝Red?Hat?Linux?9.0時沒有選擇Apache服務器,則可以在圖形環境下單擊“主菜單→系統設置→添加刪除應用程序” 菜單項,在出現的“軟件包管理”對話框里確保選中“萬維網服務器”選項,然后單擊“更新”按鈕,按照屏幕提示插入安裝光盤即可開始安裝。?
另外,你也可以直接插入第1張安裝光盤,定位到/RedHat/RPMS下的httpd-2.0.40-21.i386.rpm安裝包,然后在終端命令窗口運行以下命令即可開始安裝進程:?
[root@ahpeng?RPMS]?rpm?-ivh?httpd-2.0.40-21.i386.rpm?
安裝好Apache服務器,可以在終端命令窗口運行以下命令來啟動Apache服務:?
[root@ahpeng?root]?/etc/rc.d/init.d/httpd?start?
重新啟動Apache服務:?
[root@ahpeng?root]?/etc/rc.d/init.d/httpd?restart?
關閉Apache服務:?
?。踨oot@ahpeng?root]?/etc/rc.d/init.d/httpd?stop?
確認Apache服務已經啟動后,我們可以在Web瀏覽器里輸入以下地址,如果可以看到默認的Apache首頁,則說明Apache服務器工作正常。?
Htpp://WebServerAddress? (http;//192.168.1.XX/)
此處的WebServerAddress指代Web服務器的IP地址或者域名。即是說WebServerAddress應該用實際的Web服務器的IP地址或者域名來代替。?
2.配置httpd.conf文件?
在早期Apache服務器版本里,其配置內容分散在httpd.conf、srm.conf、access.conf三個文件里。而新版本的 Apache服務器,則統一在httpd.conf里進行配置。對于默認安裝的Red?Hat?Linux來說,該配置文件位于 /etc/httpd/conf目錄下,如果安裝的是tar.gz版本,則該文件位于/usr/local/apache/conf目錄。?
利用httpd.conf,我們可以對Apache服務器進行全局配置、主要或預設服務器的參數定義、虛擬主機的設置。httpd.conf是一個文本文件,我們可以用Vi、Kate等文本編輯工具進行修改。通過分析該httpd.conf配置文件,我們不難發現:?
該配置文件分為若干個小節,例如Section?1:?Global?Environment(第一小節:全局環境);Section?2:?'Main'?server?configuration(第二小節:主服務器配置)等。?
每個小節都有若干個配置參數,其表達形式為“配置參數名稱?具體值”,每個配置參數都有詳盡的英文解釋(用#號引導每一個注釋行)。?
為了幫助大家理解,這里給出httpd.conf的最常用配置參數:?
(1)DocumentRoot?
該參數指定Apache服務器存放網頁的路徑,默認所有要求提供HTTP服務的連接,都以這個目錄為主目錄。以下為Apache的默認值:?
DocumentRoot?"/var/www/html"?
(2)MaxClients?
該參數限制Apache所能提供服務的最高數值,即同一時間連接的數目不能超過這個數值。一旦連接數目達到這個限制,Apache服務器則不再為別的連接提供服務,以免系統性能大幅度下降。本例假設最大連接數是150個:?
MaxClients?150?
(3)Port?
該參數用來指定Apache服務器的監聽端口。一般來說,標準的HTTP服務默認端口號是80,一般不要更改這個數值。本例為80端口:?
Port?80?
(4)ServerName?
該參數使得用戶可以自行設置主機名,以取代安裝Apache服務器主機的真實名字。此名字必須是已經在DNS服務器上注冊的主機名。如果當前主機沒有已注冊的名字,也可以指定IP地址。本例將服務器名設為Peter.vicp.net:?
ServerName?Peter.vicp.net?
(5)MaxKeepAliveRequests?
當使用保持連接(Persistent?Connection)功能時,可以使用本參數決定每次連接所能發出的要求數目的上限。如果此數值為 0,則表示沒有限制。建議盡可能使用較高的數值,以充分發揮Apache的高性能,本例設置每次連接所能發出的要求數目上限為100:?
MaxKeepAliveRequests?100?
(6)MaxRequestsPerChild?
該參數限制每個子進程(Child?Process)在結束前所能處理的請求數目,一旦達到該數目,這個子進程就會被中止,以避免長時間占據Apache(或者Apache服務器所采用的函數庫),防止造成內存或者其他系統資源的超負荷。?
需要注意的是,該參數的數值并不包括保持連接所發出的請求數目。舉例說明,如果某個子進程負責某一個請求,該請求隨后帶來保持連接功能所需的10個請求,這時候對于該參數而言,Apache服務器會認為這個子進程只處理了1個要求,而非11個要求。?
以下設置最多可以處理10個要求:?
MaxRequestsPerChild?10?
(7)MaxSpareServers?和MinSpareServers?
提供Web服務的HTTP守護進程,其數目會隨連接的數目而變動。Apache服務器采用動態調整的方法,維持足夠的HTTP守護進程數目,以處理目前的負載,也就是同時保持一定的空閑HTTP守護進程來等候新的連接請求。?
Apache會定期檢查有多少個HTTP守護進程正在等待連接請求,如果空閑的HTTP守護進程多于MaxSpareServers參數指定 的值,則Apache會終止某些空閑進程;如果空閑HTTP守護進程少于MinSpareServers參數指定的值,則Apache會產生新的HTTP 守護進程。本例將最高空閑守護進程設置為20個,將最低的空閑守護進程設置為5個:?
MaxSpareServers?20?
MinSpareServers?5?
當然這只是Apache的一些基本設置項,大家可以根據自己的實際情況加以靈活的修改,以充分發揮Apache的潛能。如果修改配置文件之后沒能立即生效,可以重啟Apache服務。?
注意:修改之前一定要先備份!?
3.圖形化配置界面?
圖形化配置直觀、簡單,足夠應付Apache服務器的日常管理維護工作。我們可以通過單擊“主菜單→系統設置→服務器設置→HTTP服務器” 菜單項,或者直接在“運行命令”對話框里輸入“apacheconf”命令并回車,來訪問“Apache配置”對話框??梢钥吹皆撆渲脤υ捒蚬灿?個標簽 頁。?
(1)“主”標簽頁?
在“服務器名”框中可以輸入服務器的名稱,等同于httpd.conf文件里的“ServerName”字段。“網主電子郵件地址”框中可以 輸入管理員的郵件地址,等同于httpd.conf文件里的“ServerAdmin”字段。單擊“可用地址”選項組中的“添加”(或者“編輯”)按鈕, 我們可以添加或者修改服務器的IP地址和端口。?
(2)“虛擬主機”標簽頁?
所謂的虛擬主機服務就是指將一臺計算機虛擬成多臺Web服務器。利用Apache服務器提供的“虛擬主機”服務,我們可以利用一臺計算機提供多個Web服務。?
用Apache設置虛擬主機服務通常可以采用兩種方案:基于IP地址的虛擬主機和基于名字的虛擬主機。基于IP地址的虛擬主機的實現方法有一個嚴重的不足,每增加一個虛擬主機,就必須增加一個IP地址。所以這里介紹如何創建基于名字的虛擬主機。?
假設一臺Apache服務器的IP地址是210.79.81.212,主機名稱為www.companyname.net,同時它擁有兩個別 名:sales.companyname.net、marketing.companyname.net。雖然這3個網站的IP地址相同,都指向 210.79.81.212,但是由于架設了基于名字的虛擬主機,所以可以指向不同的網頁。?
設置時,請單擊“虛擬主機”標簽頁上的“添加”按鈕,在打開的配置對話框的“主機信息”下拉列表框里選中“基于名稱的虛擬主機”選項,然后輸入合適的數據IP地址、主機名稱等,記住,還要添加合適的別名,如圖2所示。?
[root@test
root]# cd /usr/local/apache2/conf [root@test root]# vi httpd.conf ServerRoot "/usr/local/apache2" PidFile logs/httpd.pid Timeout 300? KeepAlive On MaxKeepAliveRequests
100 KeepAliveTimeout
15 <IfModule
prefork.c> Listen 80 User nobody ServerAdmin
root@localhost #ServerName
new.host.name:80 UseCanonicalName
Off AddDefaultCharset
ISO-8859-1 HostnameLookups
Off |
- 目錄路徑設定:
[root@test
root]# cd /usr/local/apache2/conf [root@test root]# vi httpd.conf DocumentRoot
"/usr/local/apache2/htdocs" <Directory
/> <Directory
"/usr/local/apache2/htdocs"> UserDir public_html DirectoryIndex
index.html index.html.var Alias /icons/
"/usr/local/apache2/icons/" Alias /manual
"/usr/local/apache2/manual" ScriptAlias
/cgi-bin/ "/usr/local/apache2/cgi-bin/" |
?
“Apache配置”對話框的其他兩個標簽頁的設置內容基本等同于前面所介紹的httpd.conf參數配置,這里就不再介紹了。