服務(wù)器安裝1實(shí)驗(yàn)指導(dǎo)
Windows 服務(wù)器安裝實(shí)驗(yàn)——IIS 和Apache 的安裝與配置一、IIS 服務(wù)器的安裝在Window2000中,IIS 默認(rèn)是被安裝的。你可以通過 “開始->設(shè)置->控制面板->管理工具->I
Windows 服務(wù)器安裝實(shí)驗(yàn)——IIS 和Apache 的安裝與配置
一、IIS 服務(wù)器的安裝
在Window2000中,IIS 默認(rèn)是被安裝的。你可以通過 “開始->設(shè)置->控制面板->管理工具->Internet 信息服務(wù)”來打開它。如果你沒有安裝,可以通過Windows 的“添加刪除組件”來安裝它。
設(shè)置:
二、Apache 服務(wù)器的安裝
1.Apache 服務(wù)器的安裝教程
為什么選擇Apache ?首先,Apache 是免費(fèi)的,你無需為它交納任何費(fèi)用;其次,Apache 是開放源代碼的,也許你感覺不到它的好處,但我可以告訴你,一個(gè)開放源代碼的軟件往往能夠等到更廣泛的支持,可以說,全世界的程序員都在為你服務(wù)。而且,它更靈活,使你能夠根據(jù)自己的需要選用包含特定功能的模塊。再給你提供一條消息,現(xiàn)在全世界超過60的HTTP 服務(wù)器在使用Apache 。那么你要不要也加入其中呢?
你可以從Apache 的網(wǎng)站http://httpd.apache.org/download.cgi下載Apache 的安裝文件,或者在其他鏡像網(wǎng)站獲得?,F(xiàn)在的最新版本是2.0.49。
圖一:Apache 的安裝界面
Apache 的安裝非常簡單,選擇接受許可協(xié)議后進(jìn)入服務(wù)器信息配置界面,如下圖。第一欄"Network Domain" 域名信息,在這里填入你的服務(wù)器的域名,如果你已經(jīng)申請(qǐng)到域名的話填入你申請(qǐng)的域名,(注意這里要填的是域名,只是你申請(qǐng)到的完整域名的后半部分,
,不包括"www" 。如果你申請(qǐng)的是二級(jí)域名的話,就是第一個(gè)"." 之后的部分)如果還沒有的話,把本機(jī)的IP 填上去就行了。下一行是服務(wù)器名,填入完整的域名或IP 地址。再下一欄是管理員Email 地址。這三項(xiàng)在安裝是就必須填寫,但是在安裝完成后你還可以隨時(shí)進(jìn)行修改,所以你不必?fù)?dān)心填錯(cuò)了會(huì)出問題。最后的選項(xiàng)不用改就可以了。
圖
二:服務(wù)器信息配置界面
點(diǎn)擊"Next" 進(jìn)入下一步。選擇"Typical" 典型安裝,下一步選擇安裝目錄,默認(rèn)安裝目錄是系統(tǒng)盤的Program Files/Apache Group目錄。點(diǎn)擊"Next" 再單擊"Install" 進(jìn)行安裝。
圖三:Apache 的安裝界面
安裝完成后,在開始菜單的Apache HTTP Server 2.0.49菜單中可以看到五個(gè)選項(xiàng),現(xiàn)在點(diǎn)擊"Control Apache Server" 目錄下的"Start" 啟動(dòng)服務(wù)器。可以看到系統(tǒng)狀態(tài)欄里出現(xiàn)Apache 的羽毛狀圖標(biāo)并帶有綠色箭頭,說明服務(wù)器啟動(dòng)成功。
圖四:Apache 菜單
現(xiàn)在看看我們的成績吧。打開瀏覽器,輸入localhost 或者127.0.0.1(這兩個(gè)都指向本機(jī)地址),回車,如果安裝正確的話你就能看到Apache 的測(cè)試頁面了。(如圖五)簡單吧,從此,你的電腦也是一臺(tái)HTTP 服務(wù)器了!
圖五:Apache 的測(cè)試頁面
也許你會(huì)問,這不是我的網(wǎng)站啊,我的網(wǎng)站在哪里呢?別著急,通過下面幾步,你就能把你自己精心制作的網(wǎng)站展示給全世界了。
2.配置Apache
首先單擊開始菜單中Apache 目錄下的"Configure Apache Server"中的"Edit the Apache httpd.conf Configuration File",打開Apache 的配置文件。
首先,我們要讓服務(wù)器顯示我們自己的內(nèi)容。找到"Section 1: Global
Environment" 的位置,這一部分是Apache 的全局設(shè)置。注意到文件的大部分都是以#開頭的,程序?qū)⒙赃^這些內(nèi)容,所以沒有必要去研究它們。好了,找到從此開始的沒有#的第一行,
,"ServerRoot ……", 后面的一部分就是你服務(wù)器的根目錄了,把它改成你想要的目錄就行了,這里建議你使用絕對(duì)地址,這樣避免一些不必要的問題。需要說明的一點(diǎn)是這里的地址要用斜杠'/'而不是Windows 文件系統(tǒng)習(xí)慣的反斜杠'',在地址的最后不要加斜杠。
OK ,這一部分就這樣了,其余的都不用修改。向下繼續(xù)找到"Section 2: 'Main' server configuration", 如果你覺得這樣找起來太麻煩的話,記事本中的查找功能也許能幫你一些忙。(在記事本窗口,按Ctrl +F ,會(huì)彈出查找對(duì)話框,將上面的內(nèi)容復(fù)制進(jìn)去,單擊" 查找下一個(gè)" ,記事本將為你找到它所在的那一行)還是只看沒有#的行,下面的
"ServerAdmin","ServerName" 是有關(guān)服務(wù)器的一些信息,可以暫時(shí)不理會(huì)。繼續(xù)向下,找到"DocumentRoot" 一行,這后面的地址就是你服務(wù)器的文檔的地址了,所有對(duì)你服務(wù)器的訪問都將從此地址開始,將這個(gè)地址替換成你的網(wǎng)站的文件夾地址,同樣注意要用斜杠'/'。
下面是
圖六:改變?cè)O(shè)置后服務(wù)器的內(nèi)容
到此為止, HTTP服務(wù)器就可以算是建立起來了。
不過,如果還沒有你想要的網(wǎng)頁顯示出來,再回到剛才編輯的文件,找到剛才最后改動(dòng)的位置,就是
"Options -Indexes FollowSymLinks"。再下面幾行,有一個(gè)DirectoryIndex ,后面是服務(wù)器默認(rèn)的主頁名稱,服務(wù)器將按順序依次在目錄中查找這些文件,并將最先找到的顯示出來。你可以把你的網(wǎng)站的默認(rèn)頁面的名字寫在這后面。(一般要加一個(gè)index.htm )存盤,Restart 。
,等等,有點(diǎn)不對(duì)勁,怎么中文是亂碼?這是Apache 將默認(rèn)語言設(shè)成了西歐語言的原因,還是打開剛才編輯過的文件,找到"AddDefaultCharset" 一行,(強(qiáng)烈建議使用記事本的查找工具)將它后面的內(nèi)容改為GB2312。存盤,重啟服務(wù)器。也許你的瀏覽器這時(shí)候看到的還是亂碼,那是因?yàn)闉g覽器記住了這個(gè)頁面的設(shè)置,清空瀏覽器的歷史記錄和緩存,一切搞定!
圖
七:完成設(shè)置后顯示主頁
好了,你現(xiàn)在的任務(wù)就是申請(qǐng)一個(gè)域名,將它指向你主機(jī)的IP ,記得上面提到過的"ServerName" 嗎, 改成你申請(qǐng)的域名就可以了。
選做: Linux 下Apache 服務(wù)器的安裝與配置
Linux Apache服務(wù)器系統(tǒng)的設(shè)置與優(yōu)化
Apache 服務(wù)器的設(shè)置文件位于/usr/local/apache/conf/目錄下,傳統(tǒng)上使用三個(gè)配置文件httpd.conf, access.conf和srm.conf ,來配置Apache 服務(wù)器的行為。 httpd.conf提供了最基本的服務(wù)器配置,是對(duì)守護(hù)程序 httpd如何運(yùn)行的技術(shù)描述;srm.conf 是服務(wù)器的資源映射文件,告訴服務(wù)器各種文件的MIME 類型,以及如何支持這些文件;
access.conf 用于配置服務(wù)器的訪問權(quán)限,控制不同用戶和計(jì)算機(jī)的訪問限制;這三個(gè)配置文件控制著服務(wù)器的各個(gè)方面的特性,因此為了正常運(yùn)行服務(wù)器便需要設(shè)置好這三個(gè)文件。
除了這三個(gè)設(shè)置文件之外,Apache 還使用mime.types 文件用于標(biāo)識(shí)不同文件對(duì)應(yīng)的MIME 類型, magic文件設(shè)置不同MIME 類型文件的一些特殊標(biāo)識(shí),使得Apache 服務(wù)器從文檔后綴不能判斷出文件的MIME 類型時(shí),能通過文件內(nèi)容中的這些特殊標(biāo)記來判斷文檔的MIME 類型。
[iaspec@www conf]$ pwd
/usr/local/apache/conf
[iaspec@www conf]$ ls
access.conf httpd.conf.OLD magic.default srm.conf
access.conf.default httpd.conf.SAVE mime.types srm.conf.default
,新版本的Apache 將原來httpd.conf 、srm.conf 與access.conf 中的所有配置參數(shù)均放在了一個(gè)配置文件 httpd.conf中,只是為了與以前的版本兼容的原因(使用這三個(gè)設(shè)置文件的方式來源于NCSA-httpd ),才使用三個(gè)配置文件。而提供的 access.conf和srm.conf 文件中沒有具體的設(shè)置。
由于在新版本的Apache 中,所有的設(shè)置都被放在了httpd.conf 中,因此只需要調(diào)整這個(gè)文件中的設(shè)置。本文基于redhat 7.2 下的httpd.conf 為例,解釋Apache 服務(wù)器的各個(gè)設(shè)置選項(xiàng),當(dāng)然,其配置方法可擴(kuò)展到幾乎所有unix 系統(tǒng)。
雖然Apache 提供設(shè)置的參數(shù)很多,基本上這些 參數(shù)都很明確,也可以不加改動(dòng)運(yùn)行Apache 服務(wù)器。但如果需要調(diào)整Apache 服務(wù)器的性能,以及增加對(duì)某種特性的支持,就需要了解這些設(shè)置參數(shù)的含義。
需要指出的是,除了操作系統(tǒng)的性能調(diào)整之外,Apache 服務(wù)器本身的缺省配置絕不是最優(yōu)化和最高效的,而是要適應(yīng)幾乎所有種類操作系統(tǒng)、所有種類硬件下的設(shè)置,多平臺(tái)的軟件不可能為特定平臺(tái)和特定硬件提供最優(yōu)化的缺省配置。因此要使用Apache 的時(shí)候,性能調(diào)整是必不可少的。
本文目錄快速訪問:
另外一些加速方法
附錄一、采用 mod_gzip 加速Apache
(優(yōu)化沒有捷徑,必須首先清楚各配置的含義)
ServerType standalone
ServerType 定義服務(wù)器的啟動(dòng)方式,缺省值為獨(dú)立方式standalone ,httpd 服務(wù)器將由其本身啟動(dòng),并駐留在主機(jī)中監(jiān)視連接請(qǐng)求。在Linux 下將在啟動(dòng)文件
/etc/rc.d/rc.local/init.d/apache中自動(dòng)啟動(dòng)Web 服務(wù)器,這種方式是推薦設(shè)置。
啟動(dòng)Apache 服務(wù)器的另一種方式是inet 方式,使用超級(jí)服務(wù)器inetd 監(jiān)視連接請(qǐng)求并啟動(dòng)服務(wù)器。當(dāng)需要使用inetd 啟動(dòng)方式時(shí),便需要更改為這個(gè)設(shè)置,并屏蔽
/etc/rc.d/rc.local/init.d/apache文件,以及更改/etc/inetd.conf并重起 inetd,那么Apache 就能從inetd 中啟動(dòng)了。
兩種方式的區(qū)別是獨(dú)立方式是由服務(wù)器自身管理自己的啟動(dòng)進(jìn)程,這樣在啟動(dòng)時(shí)能立即啟動(dòng)服務(wù)器的多個(gè)副本,每個(gè)副本都駐留在內(nèi)存中,一有連接請(qǐng)求不需要生成子進(jìn)程就可以立即進(jìn)行處理,對(duì)于客戶瀏覽器的請(qǐng)求反應(yīng)更快,性能較高。而 inetd方式要由inetd 發(fā)現(xiàn)有連接請(qǐng)求后才去啟動(dòng)http 服務(wù)器,由于inetd 要監(jiān)聽太多的端口,因此反應(yīng)較慢、效率較低,但節(jié)約了沒有連接請(qǐng)求時(shí)Web 服務(wù)器占用的資源。因此inetd 方式只用于偶爾被訪問并且不要求訪問速度的服務(wù)器上。事實(shí)上inetd 方式不適合http 的突發(fā)和多連接的特性,因?yàn)橐粋€(gè)頁面可能包含多個(gè)圖象,而每個(gè)圖象都會(huì)引起一個(gè)連接請(qǐng)求,即使雖然訪問人數(shù)造成教少,但瞬間的連接請(qǐng)求并不少,這就受到inetd 性能的限制,甚至?xí)绊懹蒳netd 啟動(dòng)的其他服務(wù)器程序。
ServerRoot "/usr/local"
,ServerRoot 用于指定守護(hù)進(jìn)程httpd 的運(yùn)行目錄,httpd 在啟動(dòng)之后將自動(dòng)將進(jìn)程的當(dāng)前目錄改變?yōu)檫@個(gè)目錄,因此如果設(shè)置文件中指定的文件或目錄是相對(duì)路徑,那么真實(shí)路徑就位于這個(gè)ServerRoot 定義的路徑之下。
由于httpd 會(huì)經(jīng)常進(jìn)行并發(fā)的文件操作,就需要使用加鎖的方式來保證文件操作不沖突,由于NFS 文件系統(tǒng)在文件加鎖方面能力有限,因此這個(gè)目錄應(yīng)該是本地磁盤文件系統(tǒng),而不應(yīng)該使用NFS 文件系統(tǒng)。
# LockFile /var/lock/httpd.lock
LockFile 參數(shù)指定了httpd 守護(hù)進(jìn)程的加鎖文件,一般不需要設(shè)置這個(gè)參數(shù), Apache服務(wù)器將自動(dòng)在ServerRoot 下面的路徑中進(jìn)行操作。但如果ServerRoot 為NFS 文件系統(tǒng),便需要使用這個(gè)參數(shù)指定本地文件系統(tǒng)中的路徑,以提高讀寫速度。
PidFile /var/run/httpd.pid
PidFile 指定的文件將記錄httpd 守護(hù)進(jìn)程的進(jìn)程號(hào),由于httpd 能自動(dòng)復(fù)制其自身,因此系統(tǒng)中有多個(gè)httpd 進(jìn)程,但只有一個(gè)進(jìn)程為最初啟動(dòng)的進(jìn)程,它為其他進(jìn)程的父進(jìn)程,對(duì)這個(gè)進(jìn)程發(fā)送信號(hào)將影響所有的httpd 進(jìn)程。PidFILE 定義的文件中就記錄httpd 父進(jìn)程的進(jìn)程號(hào)。
ScoreBoardFile /var/run/httpd.scoreboard
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
這兩個(gè)參數(shù)ResourceConfig 和AccessConfig ,就用于和使用 srm.conf 和
access.conf 設(shè)置文件的老版本Apache 兼容。如果沒有兼容的需要,可以將對(duì)應(yīng)的設(shè)置文件指定為/dev/null,這將表示不存在其他設(shè)置文件,而僅使用 httpd.conf 一個(gè)文件來保存所有的設(shè)置選項(xiàng)。
Timeout 300
Timeout 定義客戶程序和服務(wù)器連接的超時(shí)間隔,超過這個(gè)時(shí)間間隔(秒)后服務(wù)器將斷開與客戶機(jī)的連接。如果服務(wù)器的負(fù)載較重,可適當(dāng)把此數(shù)字調(diào)小。
KeepAlive On
在HTTP 1.0中,一次連接只能作傳輸一次HTTP 請(qǐng)求,而KeepAlive 參數(shù)用于支持HTTP 的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個(gè)HTTP 請(qǐng)求。
MaxKeepAliveRequests 100
MaxKeepAliveRequests 為一次連接可以進(jìn)行的HTTP 請(qǐng)求的最大請(qǐng)求次數(shù)。將其值設(shè)為0將支持在一次連接內(nèi)進(jìn)行無限次的傳輸請(qǐng)求。事實(shí)上沒有客戶程序在一次連接中請(qǐng)求太多的頁面,通常達(dá)不到這個(gè)上限就完成連接了。 可以適當(dāng)將此數(shù)字調(diào)小,以獲取最大速度。
KeepAliveTimeout 15
KeepAliveTimeout 測(cè)試一次連接中的多次請(qǐng)求傳輸之間的時(shí)間,如果服務(wù)器已經(jīng)完成了一次請(qǐng)求,但一直沒有接收到客戶程序的下一次請(qǐng)求,在間隔超過了這個(gè)參數(shù)設(shè)置的值之后,服務(wù)器就斷開連接??梢赃m當(dāng)調(diào)小這個(gè)數(shù)值,以盡快釋放空閑的連接。但也不可太小,不然多數(shù)客戶都要重新連接,將耗費(fèi) CPU時(shí)間。
MinSpareServers 5
MaxSpareServers 10
,在使用子進(jìn)程處理HTTP 請(qǐng)求的Web 服務(wù)器上,由于要首先生成子進(jìn)程才能處理客戶的請(qǐng)求,因此反應(yīng)時(shí)間就有一點(diǎn)延遲。但是,Apache 服務(wù)器使用了一個(gè)特殊技術(shù)來擺脫這個(gè)問題,這就是預(yù)先生成多個(gè)空余的子進(jìn)程駐留在系統(tǒng)中,一旦有請(qǐng)求出現(xiàn),就立即使用這些空余的子進(jìn)程進(jìn)行處理,這樣就不存在生成子進(jìn)程造成的延遲了。在運(yùn)行中隨著客戶請(qǐng)求的增多,啟動(dòng)的子進(jìn)程會(huì)隨之增多,但這些服務(wù)器副本在處理完一次HTTP 請(qǐng)求之后并不立即退出,而是停留在計(jì)算機(jī)中等待下次請(qǐng)求。但是空余的子進(jìn)程副本不能光增加不減少,太多的空余子進(jìn)程沒有處理任務(wù),也占用服務(wù)器的處理能力,因此也要限制空余副本的數(shù)量,使其保持一個(gè)合適的數(shù)量,使得既能及時(shí)回應(yīng)客戶請(qǐng)求,又能減少不必要的進(jìn)程數(shù)量。
因此就可以使用參數(shù)MinSpareServers 來設(shè)置最少的空余子進(jìn)程數(shù)量, 以及使用參數(shù)MaxSpareServers 來限制最多的空閑子進(jìn)程數(shù)量,多余的服務(wù)器進(jìn)程副本就會(huì)退出。根據(jù)服務(wù)器的實(shí)際情況來進(jìn)行設(shè)置,如果服務(wù)器性能較高,并且也被頻繁訪問,就應(yīng)該增大這兩個(gè)參數(shù)的設(shè)置。對(duì)于高負(fù)載的專業(yè)網(wǎng)站,這兩個(gè)值應(yīng)該大致相同,并且等同于系統(tǒng)支持的最多服務(wù)器副本數(shù)量,也減少不必要的副本退出。
比如,當(dāng)系統(tǒng)高負(fù)載時(shí),可以這樣檢測(cè):
[iaspec@www iaspec]$ ps -ef|grep apache|wc
55 .. ..
[iaspec@www iaspec]$
這表明,高負(fù)載時(shí)有55個(gè)運(yùn)行子進(jìn)程,如果此服務(wù)器為WEB 專用服務(wù)器,就應(yīng)該考慮將這兩個(gè)數(shù)值分別設(shè)為50、60,或者40、70,具體以速度測(cè)試結(jié)果為準(zhǔn)。
StartServers 5
StartServers 參數(shù)就是用來設(shè)置httpd 啟動(dòng)時(shí)啟動(dòng)的子進(jìn)程副本數(shù)量,這個(gè)參數(shù)與上面定義的MinSpareServers 和 MaxSpareServers參數(shù)相關(guān),都是用于啟動(dòng)空閑子進(jìn)程以提高服務(wù)器的反應(yīng)速度的。這個(gè)參數(shù)應(yīng)該設(shè)置為前兩個(gè)值之間的一個(gè)數(shù)值,小于
MinSpareServers 和大于MaxSpareServers 都沒有意義。
MaxClients 150
在另一方面,服務(wù)器的能力畢竟是有限的,不可能同時(shí)處理無限多的連接請(qǐng)求,因此參數(shù)Maxclients 就用于規(guī)定服務(wù)器支持的最多并發(fā)訪問的客戶數(shù),如果這個(gè)值設(shè)置得過大,系統(tǒng)在繁忙時(shí)不得不在過多的進(jìn)程之間進(jìn)行切換來為太多的客戶進(jìn)行服務(wù),這樣對(duì)每個(gè)客戶的反應(yīng)就會(huì)減慢,并降低了整體的效率。如果這個(gè)值設(shè)置的較小,那么系統(tǒng)繁忙時(shí)就會(huì)拒絕一些客戶的連接請(qǐng)求。當(dāng)服務(wù)器性能較高時(shí),就可以適當(dāng)增加這個(gè)值的設(shè)置。對(duì)于專業(yè)網(wǎng)站,應(yīng)該使用提高服務(wù)器效率的策略,因此這個(gè)參數(shù)不能超過硬件本身的限制,如果頻繁出現(xiàn)拒絕訪問現(xiàn)象,就說明需要升級(jí)服務(wù)器硬件了。當(dāng)不太在意對(duì)客戶瀏覽器的反應(yīng)速度,或者認(rèn)為反應(yīng)速度較慢也比拒絕連接好,就也可以略微超過硬件條件來設(shè)置這個(gè)參數(shù)。
但具體這個(gè)數(shù)值以多少為宜呢?當(dāng)對(duì)性能要求較高時(shí),可以用下面的方法確定如何配置此參數(shù)。
首先,估計(jì)你的最大可能并發(fā)的連接數(shù),或者在高負(fù)載時(shí)用ps -ef|grep apache|wc命令測(cè)得最大進(jìn)程數(shù),通常MaxClients 應(yīng)該是這個(gè)數(shù)值的兩倍左右。如果當(dāng)前網(wǎng)站在高負(fù)載時(shí)的訪問速度可以接受,但有拒絕服務(wù)現(xiàn)象,則應(yīng)把此參數(shù)調(diào)大,如果無拒絕服務(wù)現(xiàn)象,但訪問速度緩慢,則應(yīng)減低此數(shù)值。
這個(gè)參數(shù)同時(shí)限制了MinSpareServers 和MaxSpareServers 的設(shè)置,它們不應(yīng)該大于這個(gè)參數(shù)的設(shè)置。
對(duì)于重負(fù)載的機(jī)器來說,僅僅這么做還是不夠的。
Apache 允許為請(qǐng)求開的最大進(jìn)程數(shù)是256,MaxClients 的限制是256. 如果用戶多了,用戶就只能看到Waiting for reply....然后等到下一個(gè)可用進(jìn)程的出現(xiàn)。這個(gè)最大數(shù),是
,Apache 的程序決定的--它的NT 版可以有1024,但Unix 版只有256,你可以在
include/httpd.h中
看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它調(diào)到1024,然后再編譯你的系統(tǒng)。記得在httpd.conf 里也要更改相應(yīng)配置。 MaxRequestsPerChild 30
使用子進(jìn)程的方式提供服務(wù)的Web 服務(wù),常用的方式是一個(gè)子進(jìn)程為一次連接服務(wù),這樣造成的問題就是每次連接都需要生成、退出子進(jìn)程的系統(tǒng)操作,使得這些額外的處理過程占據(jù)了計(jì)算機(jī)的大量處理能力。因此最好的方式是一個(gè)子進(jìn)程可以為多次連接請(qǐng)求服務(wù),這樣就不需要這些生成、退出進(jìn)程的系統(tǒng)消耗, Apache就采用了這樣的方式,一次連接結(jié)束后,子進(jìn)程并不退出,而是停留在系統(tǒng)中等待下一次服務(wù)請(qǐng)求,這樣就極大的提高了性能。
但由于在處理過程中子進(jìn)程要不斷的申請(qǐng)和釋放內(nèi)存,次數(shù)多了就會(huì)造成一些內(nèi)存垃圾,就會(huì)影響系統(tǒng)的穩(wěn)定性,并且影響系統(tǒng)資源的有效利用。因此在一個(gè)副本處理過一定次數(shù)的請(qǐng)求之后,就可以讓這個(gè)子進(jìn)程副本退出,再從原始的 httpd進(jìn)程中重新復(fù)制一個(gè)干凈的副本,這樣就能提高系統(tǒng)的穩(wěn)定性。這樣,每個(gè)子進(jìn)程處理服務(wù)請(qǐng)求次數(shù)由
MaxRequestPerChild 定義。缺省的設(shè)置值為30,這個(gè)值對(duì)于具備高穩(wěn)定性特點(diǎn)的Linux 系統(tǒng)來講是過于保守的設(shè)置,可以設(shè)置為1000甚至更高,設(shè)置為0支持每個(gè)副本進(jìn)行無限次的服務(wù)處理。
#Listen 3000
#Listen 12.34.56.78:80
#BindAddress *
Listen 參數(shù)可以指定服務(wù)器除了監(jiān)視標(biāo)準(zhǔn)的80端口之外,還監(jiān)視其他端口的HTTP 請(qǐng)求。由于系統(tǒng)可以同時(shí)擁有多個(gè)IP 地址,因此也可以指定服務(wù)器只聽取對(duì)某個(gè)BindAddress< /B>;的IP 地址的HTTP 請(qǐng)求。如果沒有配置這一項(xiàng),則服務(wù)器會(huì)回應(yīng)對(duì)所有IP 的請(qǐng)求。
即使使用了BindAddress 參數(shù),使得服務(wù)器只回應(yīng)對(duì)一個(gè)IP 地址的請(qǐng)求,但是通過使用擴(kuò)展的Listen 參數(shù),仍然可以讓HTTP 守護(hù)進(jìn)程回應(yīng)對(duì)其他IP 地址的請(qǐng)求。此時(shí)Listen 參數(shù)的用法與上面的第二個(gè)例子相同。這種比較復(fù)雜的用法主要用于設(shè)置虛擬主機(jī)。此后可以用 VirtualHost參數(shù)定義對(duì)不同IP 的虛擬主機(jī),然而這種用法是較早的HTTP 1.0標(biāo)準(zhǔn)中設(shè)置虛擬主機(jī)的方法,每針對(duì)一個(gè)虛擬主機(jī)就需要一個(gè)IP 地址,實(shí)際上用處并不大。在HTTP 1.1中,增加了對(duì)單IP 地址多域名的虛擬主機(jī)的支持,使得虛擬主機(jī)的設(shè)置具備更大的意義。
模塊變量
LoadModule mime_magic_module libexec/apache/mod_mime_magic.so
LoadModule info_module libexec/apache/mod_info.so
LoadModule speling_module libexec/apache/mod_speling.so
LoadModule proxy_module libexec/apache/libproxy.so
LoadModule rewrite_module libexec/apache/mod_rewrite.so
LoadModule anon_auth_module libexec/apache/mod_auth_anon.so
,LoadModule db_auth_module libexec/apache/mod_auth_db.so
LoadModule digest_module libexec/apache/mod_digest.so
LoadModule cern_meta_module libexec/apache/mod_cern_meta.so
LoadModule expires_module libexec/apache/mod_expires.so
LoadModule headers_module libexec/apache/mod_headers.so
LoadModule usertrack_module libexec/apache/mod_usertrack.so
LoadModule unique_id_module libexec/apache/mod_unique_id.so
ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_proxy.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
Apache 服務(wù)器的一個(gè)重要特性就是其模塊化的結(jié)構(gòu),這不但表現(xiàn)為其能在編譯時(shí)能通過新的模塊加入新的功能,還表現(xiàn)為其模塊可以動(dòng)態(tài)加載入http 服務(wù)程序中,而不必載入不需要的模塊。使用Apache 的動(dòng)態(tài)加載模塊只需要設(shè)置好Load Module和AddModule 參數(shù)就可以了,這種特性就是Apache 的 DSO(Dynamic Shared Object )特性,然而要想充分使