<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      APACHE(2)

      [摘要]第二章 啟動阿帕奇 2.1 啟動阿帕奇 httpd 這支程序可以藉由網際網路服務程序 inetd 在每一次有連線要 進入 HTTP 服務的時候啟動,或者另一種方式,它也可以作為服務程序 (daemo...
      第二章

      啟動阿帕奇


      2.1 啟動阿帕奇

      httpd 這支程序可以藉由網際網路服務程序 inetd 在每一次有連線要
      進入 HTTP 服務的時候啟動,或者另一種方式,它也可以作為服務程序
      (daemon)持續地執行,處理請求。無論選擇哪一種方式,都必須設定這
      個 ServerType 指令告訴服務器它要如何執行。


      2.2 命令列選項

      下列選項可以用在 httpd 的命令列上:

      -d serverroot
      把 ServerRoot 這個參數的起始值設定為 serverroot 。這可以
      藉由在配置文件里面的 ServerRoot 命令來加以改變。此預設為
      /usr/local/etc/httpd 。

      -f config
      啟動時執行在 config 文件里面的指令。如果 config 沒有以 /
      作為開始的話,那麼它會被當作相對於 ServerRoot 的路徑。此
      預設值是 conf/httpd.conf 。

      -X
      以單一程序(single-process)模式執行,只用在內部除錯;服務
      程序不會脫離終端作業或是產生任何子程序。不要使用這個模式
      來提供正常的網頁服務。

      -v
      列印 httpd 的版本,然後結束。

      -?
      列印 httpd 選項的一份列表,然後結束。


      2.3 配置檔

      此服務器將會讀取三個配置指令文件。任何指令都可以出現在這些文件
      任何一個里面。這些文件的名稱是相對於服務器的根目錄(server root) ;
      這是根是藉由 ServerRoot 指令,或是 -d 這個命令列旗標所指定的。
      依慣例這些文件是:

      conf/httpd.conf
      包含控制服務程序運作的指令。文件名稱可以配合 -f 命令列旗
      旗標加以改變。

      conf/srm.conf
      包含控制服務器提供給客戶端之文件規格的指令。文件名稱可以
      配合 ResourceConfig 指令加以改變。

      conf/access.conf
      包含控制文件之存取的指令。文件名稱可以配合 AccessConfig
      指令加以改變。


      無論如何,這些慣例并不需要完全遵奉。

      此服務器也會讀取一個包含 MIME 文件型態的文件;這個文件名稱藉由
      TypesConfig 指令設定,而且有個 conf/mini.types 作為預設。


      2.4 記錄檔


      2.4.1 pid 檔

      服務程序啟動時,它把父程序 httpd 的程序碼(process id)存往這個
      log/httpd.pid 文件。這個文件名稱可以配合 PidFile 指令加以改變
      。這個程序碼由管理者用來重新啟動或終止服務程序;一個 HUP 信號
      會使服務程序重新讀取其配置檔而一個 TERM 信號會使它終止。

      如果程序不正常地死掉(或被殺掉),那麼必須殺掉 httpd 子程序。


      2.4.2 錯誤記錄

      服務器會將錯誤訊息記錄到一個記錄檔去,預設為 log/error_log 。
      文件名稱可以藉由 ErrorLog 指令設定;可以為不同的虛擬主機設定不
      同的錯誤記錄。


      2.4.3 傳輸記錄

      服務器一般會將每個請求記錄到一個傳輸檔,預設為 logs/access_log
      。文件名稱可以藉由 TransferLog 指令設定;可以為不同的虛擬主機
      設定不同的傳輸記錄。


      第三章

      阿帕奇核心部份(core)的特色

      這些配置參數控制核心部份的阿帕奇特色,而且是固定可以使用的。


      3.1 AccessConfig 指令

      語法: AccessConfig 文件名稱
      預設: AccessConfig conf/access.conf
      用於: server config, virtual host
      狀態: 核心

      此服務器讀取 ResourceConfig 文件之後將會繼續讀取這個文件以取得
      更多指令。文件名稱系相對於 ServerRoot 路徑。此特色可以使用如下
      的方式關閉:

      AccessConfig /dev/null

      原本這個文件只包含 <Directory> 節區;事實上它現在可以包含任何
      可以用於服務器配置的指令。


      3.2 AccessFileName 指令

      語法: AccessFileName 文件名稱
      預設: AccessFileName .htaccess
      用於: server config, virtual host
      狀態: 核心

      回傳文件給客戶端的時候,如果目錄的存取控制檔有啟動,服務器會在
      到達這份文件的路徑中的每個目錄里以此名稱搜尋存取控制檔。例如:

      AccessFileName .acl

      在回傳 /usr/local/web/index.html 這份文件前,此服務器將會讀取
      /.acl, /usr/.acl, /usr/local/.acl 以及 /usr/local/web/.acl 以
      取得指令,除非以如下的方式關閉它們:

      <Directory />
      AllowOverride None
      </Directory>


      3.3 AllowOverride 指令

      語法: AllowOverride override override ...
      預設: AllowOverride All
      用於: directory
      狀態: 核心

      服務器找到 AccessFileName 指定的文件時會需要知道該文件所宣告的
      哪些指令可以改變稍早的存取資訊。

      Override 可以設為 None 在此情況下服務器將不會讀取該檔,而設為
      All 的話服務器將會允許所有的指令,或是下列其中之一:


      AuthConfig
      允許驗認指令的使用(AuthDBMGroupFile, AuthDBMUserFile,
      AuthGroupFile, AuthName, AuthType, AuthUserFile and
      require)

      FileInfo
      允許控制文件型態之指令的使用(AddEncoding, AddLanguage,
      AddType, DefaultType and LanguagePriority)

      Indexes
      允許控制目錄索引之指令的使用(AddDescription, AddIcon,
      AddIconByEncoding, AddIconByType, DefaultIcon,
      DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore,
      IndexOptions and ReadmeName)

      Limit
      允許控制存取主機之指令的使用(allow, deny and order)

      Options
      允許控制特定目錄特色之指令的使用(Options and XbitHack)


      3.4 AuthName 指令

      語法: AuthName 驗認領域
      用於: directory, .htaccess
      需求: AuthConfig
      狀態: 核心

      這個指令為某個目錄設定驗認區域的名稱。這個區域會送給客戶端所以
      使用者知道要傳送的使用者名稱以及密碼。它必須藉由 AuthType 以及
      require 指令來完成,而且要有像 AuthUserFile 以及 AuthGroupFile
      這些指令配合運作。


      3.5 AuthType 指令

      語法: AuthType 型態
      用於: directory, .htaccess
      需求: AuthConfig
      狀態: 核心

      這個指令為某個目錄選擇使用這驗認型態。目前只有 Basic 實作出來
      。它必須藉由 AuthName 以及 require 指令來完成,而且還要有像是
      AuthUserFile 以及 AuthGroupFile 這些指令配合運作。


      3.6 BindAddress 指令

      語法: BindAddress 服務器位址
      預設: BindAddress *
      用於: server config
      狀態: 核心

      一臺 Unix 的 http 服務器可以監聽到該服務機器每個 IP 位址的連線
      或者只注意該服務機器的一個位址。服務器位址可以是:

      。*
      。一個 IP 位址
      。一個完整的網際網路領域名稱

      如果此值是 * 的話,那麼該服務器將會監聽每一個 IP 位址的連線,
      否則它將只監聽指定的 IP 位址。

      這個選項可以用來作為另一種支援虛擬主機的方式取代 <VirtualHost>
      節段。


      3.7 DefaultType 指令

      語法: DefaultType mime-型態
      預設: DefaultType text/html
      用於: server config, virtual host, directory, .htacess
      需求: FileInfo
      狀態: 核心

      有些時候服務器會被要求提供某份文件,此文件不能藉由其 MIME 型態
      對映來決定型態。

      服務器必須知會客戶端文件所包含的型態(content-type),所以不知道
      型態的時候它便使用 DefaultType 。例如:

      DefaultType image/gif

      對於包含許多沒有 .gif 副文件名的 gif 圖形目錄是合適的。


      3.8 <Directory> 指令

      語法: <Directory 目錄> ... </Directory>
      用於: server config, virtual host
      狀態: 核心

      <Directory> 以及 </Directory> 用來把一組指令包裝起來,這些指令
      將只應用到所指明的目錄及其子目錄上。任何可以用於 directory 的
      指令都可以使用。Directory 是到某目錄的完整路徑,或是替代字元串
      (widecard string) 。在替代字元串中 `?' 能夠符合任何單一字元,
      而 `*' 能夠符合任何順序的一些字元。例如:

      <Directory /usr/local/htppd/htdocs>
      Option Indexes FollowSymLinks
      </Directory>

      如果有多個 directory 節區能符合包含該文件的目錄(或其父目錄)
      ,那麼分布在 .htaccess 文件里的指令是以最短先符合的順序加以應
      用的,例如:

      <Directory />
      AllowOverride None
      </Directory>

      <Directory /hoem/*>
      AllowOverride FileInfo
      </Directory>

      存取 /home/web/dir/doc.html 這份文件的步驟是:

      。應用 AllowOverride None 指令(關掉 .htaccess 文件)。
      。應用 AllowOverride FileInfo 指令(目錄 /home/web )。
      。應用任何在 /home/web/.htaccess 里面的 FileInfo 指令。

      這個 directory 節段典型是用在 access.conf 文件里,但它們可以
      出現在任何配置檔里。<Directory> 指令不能巢狀使用,而且不能出現
      在 節段里。


      3.9 DocumentRoot 指令

      語法: DocumentRoot 目錄名稱
      預設: DocumentRoot /usr/local/etc/httpd/htdocs
      用於: server config, virtual host
      狀態: 核心

      這個指令設定 httpd 從這個目錄提供文件服務。除非符合像是 Alias
      這樣的指令,服務器把所要求的 URL 附加到文件根 (document root)
      來組合到達文件的路徑。例如:

      DocumentRoot /usr/web

      如此對於 http://www.my.host.com/index.html 文件的存取便會參照
      到 /usr/web/index.html 。


      3.10 ErrorDocument 指令

      語法: ErrorDocument 錯誤代碼 文件
      用於: server config, virtual host
      狀態: 核心

      有問題或錯誤發生的狀況下,可以配置阿帕奇做四種反應

      1. 如同 NCSA httpd 1.3 的反應
      2. 輸出自定的(customized)訊息
      3. 重導到某個本地的 URL 以處理該問題/錯誤
      4. 重導到某個外部的 URL 以處理該問題/錯誤

      2-4 是使用 ErrorDocument 來配置,其後跟隨 HTTP 反應碼以及訊息
      或是 URL 。

      ErrorDocument 500 /cgi-bin/tester
      ErrorDocument 404 /cgi-bin/bad_urls.pl
      ErrorDocument 401 http://www.foo.bar/subscription_info.html
      ErrorDocument 403 "Sorry can't allow you acess today

      參閱: 自定回應的文件。


      3.11 ErrorLog 指令

      語法: ErrorLog 文件名稱
      預設: ErrorLog logs/error_log
      用於: server config, virtual host
      狀態: 核心

      這個錯誤記錄指令設定文件名稱,服務器將會把其遭遇的每個錯誤記錄
      到這個文件去。如果文件名稱不是以 / 開始的話那麼它就會被假設為
      相對於 ServerRoot 的路徑。例如:

      ErrorLog /dev/null

      這會有效地關掉錯誤記錄。


      3.12 Group 指令

      語法: Group unix-群組
      預設: Group #-1
      用於: server config
      狀態: 核心

      這個 Group 指令設定服務器回答要求時所處的群組。為了要能夠使用
      這個指令,必須以 root 身分起始執行獨立的服務器。 Unix-群組可以
      是這些其中之一:

      群組的名稱
      藉由名稱參照所給的群組。

      # 跟隨著群組號碼
      藉由號碼參照某個群組。

      建議你特別設立一個群組來執行這個服務器。某些管理者使用 nobody
      這個使用者,但是這并非永遠可行或合適的。

      注意: 如果你以非 root 使用者的身分啟動這個服務器,它將無法切換
      到指定的群組,并且取而代之的是它將會繼續以原來的使用者所屬群組
      來執行。

      安全: 參閱 User 指令對安全情況的討論。


      3.13 IdentityCheck 指令

      語法: IdentifyCheck 布林值
      預設: IdentifyCheck off
      用於: server config
      狀態: 核心

      這個指令為每次的連線起始 RFC931-相容的遠端使用者名稱記錄,其中
      客戶端需得執行 identd 或者是類似的東西。這項資訊記錄在存取記錄
      (access log)里。布林值是 on 或者 off 。

      除非是作為基本的使用量追蹤,這項資訊無論如何不能真的信賴。


      3.14 指令

      語法: ...
      用於: 任何地方
      狀態: 核心

      以及 用來把一組存取控制指令包裝起來,這些指令
      將只應用到指定的存取方式上,其中的方式是指任何有效的 HTTP 方式
      (method)。除了 或是 <Directory> 之外的任何指令都可以
      使用;大部分都不會被 影響。例如:


      require valid-user


      如果有個存取控制指令出現在 指令之外,那麼它會被應用到
      所有的存取方式上。


      3.15 MaxClient 指令

      語法: MaxClients 數字
      預設: MaxClients 150
      用於: server config
      狀態: 核心

      這個 MaxClients 指令設定所能支援的同時存取要求數目;不會建立比
      此值還多的子程序。


      3.16 MaxRequestPerChild 指令

      語法: MaxRequestsPerChild 數字
      預設: MaxRequestsPerChild 0
      用於: server config
      狀態: 核心

      MaxRequestsPerChild 這個指令設定一個獨立的子服務程序將能處理的
      請求數量。在處理 MaxRequestsPerChild 個請求之後,子程序將會被
      終止。如果 MaxRequestsPerChild 為 0 的話,那麼該程序永遠不會
      被終止。

      MaxRequestsPerChild 設為非 0 的值做為限制有兩個好處:

      。藉由記憶體使用量限制程序使用的記憶體數量;
      。藉由賦予程序有限的存留時間,可以在服務器負載降低時協助
      減少程序的數目。


      3.17 MaxSpareServers 指令

      語法: MaxSpareServers 數字
      預設: MaxSpareServers 10
      用於: server config
      狀態: 核心

      MaxSpareServers 這個指令設定最大閑置(idle)子服務程序數量。閑置
      子服務程序是目前沒有處理要求的程序。如果有多於 MaxSpareServers
      的暫停程序,那麼父程序會終止超過此數量的子程序。

      只有在非常忙碌的站臺上才有調整這個選項的需要。把這個參數設為非
      常大的數目通?偸莻不好的主意。

      參閱 MinSpareServers 以及 StartServers 。


      3.18 MinSpareServers 指令

      語法: MinSpareServers 數字
      預設: MinSpareServers 5
      用於: server config
      狀態: 核心

      MinSpareServers 這個指令設定最大閑置(idle)子服務程序數量。閑置
      子服務程序是目前沒有處理要求的程序。如果有屬於 MinSpareServers
      的暫停程序,那麼父程序會以最高每秒一個的速率建立新的子程序。

      只有在非常忙碌的站臺上才有調整這個選項的需要。把這個參數設為非
      常大的數目通?偸莻不好的主意。

      參閱 MaxSpareServers 以及 StartServers 。


      3.19 Options 指令

      語法: Option 選項 選項 ...
      用於: server config, virtual host, directory, .htaccess
      需求: Options
      狀態: 核心

      Options 這個指令控制某個特定目錄所能使用的服務器特色。選項可以
      設為 NONE 在此情況下沒有額外的特色會起動,或者可以是下列的一個
      或幾個:

      All
      除了 MultiViews 以外的所有選項。

      ExecCGI
      CGI 指令稿的執行權限。

      FollowSymLinks
      服務器將會跟照目錄里的符號鏈結。

      IncludesNOEXEC
      服務端含入(Server-side include) 的權限。

      Indexes
      如果有個 URL 對映到所要求的目錄,而且目錄里面并沒有目錄
      索引(DirectoryIndex, e.g. index.html) 存在,那麼服務器將
      會傳回這個目錄格式化後的列表。

      MultiViews
      允許 MultiViews 內容協商。

      SymLinksIfOwnerMatch
      只有在目標文件或目錄與符號鏈結的擁有者相同時服務器才會去
      跟照符號鏈結。

      如果多個選項可以應用到某個目錄上,那麼最底下的指定會完成;選項
      不會合并。例如:


      <Directory /web/docs>
      Options Indexes FollowSymLinks
      </Directory>
      <Directory /web/docs/spec>
      Option Includes
      </Directory>


      這樣只有 Includes 會設定到 /web/docs/spec 目錄上。


      3.20 PidFile 指令

      語法: PidFile 文件名稱
      預設: PidFile logs/httpd.pid
      用於: server config
      狀態: 核心

      PidFile 這個指令設定服務器記錄服務程序的程序號碼所使用的文件。
      如果文件名稱不是以 / 開始那麼它會被假定是相對於 ServerRoot 的
      目錄。這個 PidFile 只使用在獨立(standalone)模式。

      能夠送個信號給服務器通常會是有用的,可以關閉再重新打開錯誤記錄
      與傳輸記錄,以及重新讀取配置檔。這是藉由傳送 SIGHUP (kill -1)
      信號到列在 PidFile 里的程序號碼來達成的。




      標簽:APACHE(2) 
      日韩精品一区二区三区高清