配置apache之httpd.conf(主機部分)

來源:互聯網
上載者:User

標籤:des   http   io   ar   os   使用   sp   for   檔案   

httpd.conf的主伺服器部分配置:

1. ServerName指令

ServerName指令是一個重要的指令,用於定義Apache預設主控件名,但是這個指令在httpd.conf中預設被注釋掉的,因此要啟用它,需要先將ServerName前面的#刪除,然後再加上你的網站名稱或是IP地址。推薦使用完整的IP地址,例如:

Servername  www.jonsk.com 或  ServerName  172.16.3.9

如果你沒有使用這個指令來指定預設的主機名稱,那麼你會在Apache啟動時收到下面的錯誤資訊:

$ ./apachectl  atarthttpd: Could not reliably determine the server‘s fully qualified domain name,using 127.0.0.1 for ServerName

系統會提示沒有找到網域名稱,因此只能使用127.0.0.1的地址作為伺服器的預設地址,而這個地址只是一個網路迴環地址,只能本機訪問。如果使用完整的網站名稱,那麼Apache會根據主機的host.conf檔案的配置來選擇是先從本地主機名稱列表(/etc/hosts)中尋找 與網站名相對應的IP還是向DNS查詢網站名相對應的IP。

2. ServerRoot指令

ServerRoot指令用於定義伺服器所在的目錄,這個路徑通常是在編譯過程中由 “-prefix=ServerRoot路徑”選項來指定的,它作為Apache的根目錄會包含bin,conf,htdocs等檔案夾。但是如果你是使用二進位包來安裝,那麼這個ServerRoot通常位於 /etc/apache2目錄下,例如:ServerRoot  /etc/apache2。

3. DocumentRoot指令

DocumentRoot指令用於指定Apache所提供頁面服務的根目錄,這個目錄包含了Apache所收到的URL請求的根(/)目錄。如例:DocumentRoot  /srv/www/httpd/ ,此路徑需要使用絕對路徑來表示,而不能使用相對路徑。如果路徑中有空格,那麼還需要使用引號將它括起來。

4. ServerAdmin指令

ServerAdmin指令用於定義當伺服器出現錯誤後提示給用戶端的管理員郵件地址。如:ServerAdmin  [email protected]

5. ServerAlias與Alias指令

這兩個指令功能類似,都是用於實現映射目錄功能,只是ServerAlias是將映射的目錄識別為CGI指令碼目錄,並將此目錄中的所有檔案都作為CGI指令碼對待,而Alias則是只映射為一個普通的目錄,並不會識別為CGI指令碼。

6. User與Group指令

User與Group指令用於定義運行Apache伺服器的帳號和工作群組,它用來定義使用者請求時所建立的子進程的帳號與工作群組,並在所定義的帳號與工作群組的權力範圍內工作。如:

在Apache啟動後可以使用ps  xau  |grep httpd來查看Apache是否使用了deamon來啟動子進程。列表中有一個httpd進程的許可權是root,這個是Apache的主進程,這個進程不響應任何請求,它只是負責通過建立子進程來響應使用者請求。在不同的發行版本中會用不同的user和group帳號來啟動Apache,在Debian中是daemon,在其它系統中可能是www或是apache,如果是自行編譯,則通常 是www-data。

7. Listen指令

Listen指令用來定義Apache的監聽連接埠號碼,預設為80,連接埠號碼的範圍是0~65535,理論是可以使用這個範圍內的所有連接埠號碼,但是這裡面的0~1204都是為系統服務所保留的,所以不推薦使用,如果使用了除80外的其他連接埠,那麼用戶端就需要在訪問服務時加上連接埠號碼,例如:Listen:8088。

8. LoadModule指令

LoadModule指令用於載入模組或是目標檔案,例如:LoadModule  cgi_module  modules/mod_cgi.so

當Apache出現一個錯誤時會給出一個HTTP的響應代碼,並根據響應代碼顯示出與出錯代碼相對應的資訊頁面,為了讓出錯頁面更友好,更容易讀取,我們可以使用ErrorDocument指令根據響應代碼自訂伺服器出錯時所提供的錯誤資訊頁面,有三種方法來使用它:定義文本資訊,使用指令碼,指定一個頁面。例如:ErrorDocument  500  "unknown error",為500響應代碼定義一個文本資訊,通過此文本資訊來取代500響應代碼資訊。ErrorDocument 404 "/srv/www/cgi-bin/missing_404.pl",為400響應代碼定義一個指令碼,當出現此錯誤時執行這個指令碼,並將結果發給使用者。ErrorDocument 402 http://www.jonsk.com/info_402.html ,為402響應代碼定義一個連結頁面,如果出現402錯誤則發送這個頁面給使用者。

9. Options指令

Options指令決定在哪些目錄中使用哪些伺服器的特性,這些特性如下:

  • None:如果使用此參數,Options指令將不會起任何作用。

  • ExecCGI:允許目前的目錄下執行CGI指令碼。

  • Includes:允許使用SSI功能,即開啟伺服器方包含(SSI)功能。

  • IncludesNOEXEC:允許使用SSI功能,但是“#exec cmd” 和 "#exec cgi"功能禁止使用。

  • Indexes:開啟索引功能,例如,一個請求到目錄的URL中沒有由DirectoryIndex指令指定的索引檔案,那麼伺服器會自動返回一個請求目錄內容的目錄列表。
  • FollowSymLinks:允許在目前的目錄中使用符號串連,但是如果此參數在<Location>容器中則會被忽略,而且也不會改變用於匹配<Directory>容器的路徑。

配置apache之httpd.conf(主機部分)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.