綠色資源網:您身邊最放(fàng)心的安全下載站! 最新軟件|熱門排行|軟件分(fèn)類|軟(ruǎn)件專題|廠商(shāng)大全

綠色資源網

技術教(jiāo)程
您的位置(zhì):首頁服務器類Web服務器 → Apache 的 httpd.conf 詳解(很實用)

Apache 的 httpd.conf 詳解(很實用)

我要評(píng)論 2009/10/15 12:05:14 來源:綠色資源網 編輯:綠色資源站 [ ] 評論:0 點擊:1279次

  ServerRoot “/usr/local“
  
    ServerRoot用於指定守護進程(chéng)httpd的(de)運行目錄,httpd在啟動之後將自動將進程的當前(qián)目錄改變(biàn)為這個目錄,因此如果設(shè)置文(wén)件中指定的文件或目錄是相對路徑(jìng),那(nà)麽真實路徑(jìng)就位於這個ServerR oot定義的路徑之下。
  
  ScoreBoardFile /var/run/httpd.scoreboard
  
    httpd使用(yòng)ScoreBoardFile來維護進程的內部數據,因此通常不(bú)需要改(gǎi)變這個參數,除非管理員想在一台計算機上運(yùn)行幾個Apache服(fú)務器,這(zhè)時每個Apache服務器都需要獨立的設置文件htt pd.conf,並使用不同的ScoreBoardFile。
  
  #ResourceConfig conf/srm.conf
  #AccessConfig conf/access.conf
  
    這兩個參數ResourceConfig和AccessConfig,就用於(yú)和使用srm.conf和(hé)access.conf設置文件的老版(bǎn)本Apache兼容。如果沒有兼容的需要,可以(yǐ)將對應的設置文件指定為/dev/null,這將表示不存(cún)在其他設置文件,而僅使用httpd.conf一個文件來保存所有的設置選項。
  
  PidFile /var/run/httpd.pid
  
    PidFile指定的文件將記錄httpd守護進程的進程號,由於httpd能(néng)自動複(fù)製其自身,因(yīn)此係統中有多個httpd進程,但(dàn)隻有一(yī)個進程為最初啟動的進程,它為其他進(jìn)程的父進程,對這個進程發送信號將影響所有的httpd進程。PidFILE定義的文(wén)件中就記錄httpd父進程的進程號。
  
  Timeout 300
  
    Timeout定義(yì)客戶程序和(hé)服務器連接(jiē)的超時間隔,超過這個時間間隔(秒)後服務器將斷開(kāi)與(yǔ)客戶(hù)機的連(lián)接。
  
  KeepAlive On
  
    在HTTP 1.0中,一次連接隻能作傳輸一次HTTP請求,而KeepAlive參數用於支持HTTP 1.1版本的一(yī)次連接、多次傳輸功能(néng),這樣就可以在一次(cì)連接中傳遞多個HTTP請求。雖然隻有較新的瀏覽器(qì)才支持這個功能,但還是打開使用這個選項。
  
  MaxKeepAliveRequests 100
  
    MaxKeepAliveRequests為(wéi)一次連接可以(yǐ)進行的HTTP請求的最大請求次(cì)數。將其值設為0將支持在一次連接內進行無限次的傳輸請(qǐng)求。事(shì)實上沒有客戶程序在一次連接中請求太多的頁麵,通常達不到這個上限就完成連接了(le)。
  
  KeepAliveTimeout 15
  
    KeepAliveTimeout測試一次連接中的多次(cì)請求傳輸之間的時間,如果(guǒ)服務器已經完成了一次(cì)請求,但一直沒有接收到客戶程序(xù)的下一次(cì)請求,在間隔超過了這個參數設置的值之後(hòu),服務器就斷開連接。
  
  ThreadsPerChild 50
  設置服務器使用進程(chéng)的數目。
  # 這是以服務器的響應速度為準的, 數(shù)目太大則會(huì)變慢
  
  MaxRequestsPerChild 30
  
    使用子進程的方式提供服務的Web服務,常用的方式是一個子進程為一次連接服務,這樣造成的問題就是每(měi)次連接都需要生成、退出子進程的(de)係(xì)統操作,使得這些(xiē)額(é)外的處理過程占據了(le)計算機的大(dà)量處理能力。因此最好的(de)方式是一個子進程可以為多次連接請求服(fú)務(wù),這樣就不需要這些生成、退出進程(chéng)的係統消耗(hào),Apache就采用了這樣的方式,一次連接結束後,子(zǐ)進程並不退出,而(ér)是停留在(zài)係(xì)統中等待下一次服務請求,這樣就極大的提高(gāo)了(le)性能(néng)。
  
    但由於(yú)在處理過程中子進(jìn)程要不斷的申請和釋放內存,次數多了就會造成一(yī)些內(nèi)存垃(lā)圾,就會影響係統(tǒng)的穩定性,並且影響係統資源的有效利(lì)用。因(yīn)此在一個副本處理過一定次數(shù)的請(qǐng)求之後,就可以讓這個子進程副本退出,再從原始的htt pd進程中重新(xīn)複製一個幹淨(jìng)的副本,這樣就能提高係統的(de)穩定性。這樣,每個子進程(chéng)處理服(fú)務請求次數(shù)由MaxRe questPerChild定義。 缺省的設置值為30,這個值對於具備高穩定(dìng)性特點(diǎn)的FreeBSD係統來講(jiǎng)是過(guò)於保守(shǒu)的(de)設置(zhì),可以設(shè)置為1000甚至更高,設置為0支持每個副本進行無限次的服(fú)務處理。
  為了安全,設置為零
  
  #Listen 3000
  #Listen 12.34.56.78:80
  #BindAddress *
  
    Listen參數可(kě)以指定服務器除了監視標準(zhǔn)的80端口之外,還監視其他端口的HTTP請求。由於FreeBSD係統可(kě)以(yǐ)同時擁有多個IP地(dì)址,因此也可以指定(dìng)服務器(qì)隻聽取對某個BindAddress< /B>的IP地址的HTTP請求。如果(guǒ)沒有配置(zhì)這一項,則服務(wù)器會回應(yīng)對所有IP的(de)請求。
  
    即使使用了BindAddress參(cān)數,使得服(fú)務器隻回應對一個IP地址的請求,但是通過使用擴展的(de)Listen參數,仍然可以(yǐ)讓HTTP守護進程回應對其他IP地(dì)址的請求。此時(shí)Listen參數(shù)的用法與上麵的第二個例子相同。這種比較複雜的用法主要用於設置虛擬主機。此後可以用VirtualHost參數定義對不同(tóng)IP的虛擬主機,然而這種用法是較早的HTTP 1.0標準中設置虛擬主機的方法,每針對一個虛擬主機就需要一個IP地址,實(shí)際上用處並不大。在(zài)HTTP 1.1中,增加了對(duì)單IP地址多域名的(de)虛擬主機的支持(chí),使得虛擬主機的設(shè)置具備更大的意義。
  
  #ExtendedStatus On
  
    Apache服(fú)務器可(kě)以通過特殊的HTTP請求,來報告自身的運(yùn)行狀態,打開這個ExtendedStatus 參數可以讓服(fú)務器報告(gào)更全麵的運行狀態信息
  
  
  
  ---------------------------------------------------------------------------------
  
  ServerAdmin you@your.address
  
    配置文件中應該改變的也許隻有ServerAdmin, 這一項用於配置WWW服務(wù)器的(de)管理員的email地址,這將(jiāng)在HTTP服務出現錯誤的條件下返回給瀏覽器,以便讓Web使用(yòng)者(zhě)和管理員聯係(xì),報告錯誤(wù)。習慣上使用服務器上的webmaster作為WWW服(fú)務器的管理員,通過郵件服務(wù)器的別名機製,將發送到(dào)webmaster 的電子郵件(jiàn)發送給真正的Web管理員(yuán)。
  
  ServerName localhost
  
    缺省情況下,並不需要指定這個ServerName參數,服務器(qì)將自動通過名字解析過程來獲得(dé)自己的名字,但如果服務器(qì)的名字(zì)解析有問題(通常為反向解析不正確(què)),或者沒有正式的DNS名字(zì),也可以在這裏指定(dìng)I P地址。當(dāng)ServerName設置不正(zhèng)確的時(shí)候,服(fú)務器不能正常(cháng)啟動。
  
    通常一個Web服務器可以具(jù)有多(duō)個名字,客戶瀏覽器可以使用所(suǒ)有這些名字(zì)或IP地址來訪問這台服務器,但在沒有定義虛擬主機的情況下,服務器總是以自己的正式名字回應瀏覽器。ServerName就定義了Web服務器自(zì)己承認的正(zhèng)式名字,例如一(yī)台服務器名字(在DNS中定義了(le)A類型)為freebsd.exmaple.org.cn,同(tóng)時為了方便記憶還定義了一個別名(CNAME記錄)為www.exmaple.org.cn,那麽Apache自動解析得到的名字就為freebsd.example.org.cn,這樣不管客戶瀏(liú)覽器(qì)使用哪(nǎ)個名字發送請求,服務器總是告訴(sù)客戶(hù)程序自(zì)己為freebsd.example.org.cn。雖然這一般並不會造成什麽問題,但是考慮到某一天(tiān)服務器可能遷移到其他(tā)計算機上,而隻想通過更改DNS中的www別名配置就完成遷移任務,所以(yǐ)不想讓客戶在其書簽中使用 freebsd記錄下這(zhè)個服務器的地址,就必須使(shǐ)用ServerName來重新指定服(fú)務器的正式名字。
  
  DocumentRoot “/usr/local/www/data“
  
    DocumentRoot定義這個服務器對外發布的超文本文檔存放(fàng)的(de)路徑,客戶程序請求的(de)UR L就被映射為這個目錄下的網頁文件。這個目錄下的子目(mù)錄,以(yǐ)及使用符號連接指出的文件和目錄都能被(bèi)瀏覽器訪問,隻是要在URL上使用同樣的相對目錄名。
  
    注意,符號連接雖然邏輯上位於根(gēn)文檔目錄之(zhī)下,但實際上可以位於(yú)計算機上的(de)任意目錄(lù)中,因此可(kě)以使客戶程(chéng)序能訪(fǎng)問那些根文檔目錄之外的目錄,這在增加了靈活性的同時但減少了安全性。Apache在目錄的訪問控製中提供了FollowSymLinks選(xuǎn)項來打開或關閉支(zhī)持符號(hào)連接的特性。
  
  <Directory />
   Options FollowSymLinks
   AllowOverride None
  </Directory>
  
    Apache服務器可以針對目錄進行文檔的訪問控製,然而訪問(wèn)控(kòng)製可(kě)以(yǐ)通過兩(liǎng)種方式來實現,一個是在設置文件 httpd.conf(或access.conf)中針對每個目錄進行設置(zhì),另一個方法是在每個目錄下設置(zhì)訪問控(kòng)製文件,通常訪問控製文件名字為.htaccess。雖(suī)然使用這兩個方式都能用於控製瀏覽器的訪問,然而使(shǐ)用配置文件的方法(fǎ)要求每次改動(dòng)後(hòu)重新啟動httpd守護進程,比較不靈活,因此主要用於配置服(fú)務器係統的整體(tǐ)安全控製策略,而使(shǐ)用每個目(mù)錄下(xià)的.htaccess文件(jiàn)設置具體目錄的訪問控製更為靈活方便。
  
  
  <Directory “H:/web001“>
  Directory語(yǔ)句(jù)就是用來(lái)定義目錄的訪問限製(zhì)的,這裏可以看出它的標準語法,為一個目錄定義訪問限製。上例(lì)的這個設置(zhì)是針對係統的根目錄(lù)進行的,設置(zhì)了允許符號連接的選項FollowSymLinks ,以及使用(yòng)AllowOverride None表示不允許這個目錄下(xià)的訪問(wèn)控製文件來改變這裏進行(háng)的配(pèi)置,這也意(yì)味著不用查看這個目錄下的相應訪問控製文件。
  
    由於Apache對一個目錄的訪問控製設置是能夠被下一級目錄繼承的(de),因此對根目錄的設置將影響到它的下級目(mù)錄。注意由於AllowOverride None的設置,使得Apache服務器不需要查看根目錄下的訪問控製文件,也不需要查看以下各級目錄下的訪(fǎng)問控(kòng)製文件,直至httpd.conf(或(huò)access.conf )中為某個目錄指定(dìng)了允許Alloworride,即允許查看訪問控製文件。由(yóu)於Apache對目錄訪問控製是采用的繼承方式,如果從根目錄就允許查看訪問控製文件,那麽(me)Apache就必須一級一級的查看訪問控(kòng)製文件

關(guān)鍵詞:Apache,httpd.conf

閱讀本(běn)文後您有(yǒu)什麽感(gǎn)想? 已有 人給出評價!

  • 1 歡迎喜歡
  • 1 白(bái)癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡