Apache經常使用配置

  Apache配置文件:conf/httpd.conf(注意:表示路徑時使用‘/’而不使用‘\’,註釋使用‘#’)php

 

1. ServerRoot:服務器根目錄,也就是Apache的安裝目錄,其餘的目錄配置如果使用相對路徑,都是相對於服務器根目錄的。html

   配置示例:瀏覽器

   ServerRoot  「D:/wamp/bin/Apache2.4.23」服務器

2. Listen:服務器監聽的端口,能夠只配置端口,也能夠同時指定IP地址和端口,還能夠指定使用的協議。(可配置多個端口)app

   完整配置示例:ide

   Listen 127.0.0.1:80 http性能

3. DocumentRoot:網站的根目錄,也就是放置網站文件的地方。網站

   配置示例:ui

   DocumentRoot = 「D:/wamp/www」spa

4. LoadModule:加載特定的DSO模塊,這些已編譯的DSO模塊存放於Apache安裝目錄下modules目錄中。

   配置示例:

   LoadModule  actions_module  modules/mod_actions.so

5. User:設置實際提供服務的子進程的用戶。

   配置示例:

   User  daemon

6. Group:設置提供服務的Apache子進程運行時的用戶組。

   配置示例:

   Group  daemon

7. ServerAdmin:設置在全部返回給客戶端的錯誤信息中包含的管理員的郵件地址。(也可使用URL

   配置示例:

   ServerAdmin  23423423@qq.com

8. ServerName:設置服務器用於識別本身的主機名和端口號。若是沒有指定端口號,服務器會使用接受請求的那個端口。

   配置示例:

   ServerName  localhost:80

9. <Directory>:和</Directory>一塊兒用於封裝一組指令,使之僅對某個目錄及其子目錄生效。該指令不能被嵌套使用,也不能出現

    在<Limit>或<LimitExcept>配置段中。

   配置示例:

   <Directory 「D:/wamp/www」>

     Options  Indexes  FollowSymLinks  MultiViews  Includes  IncludesNOEXEC  ExecCGI

     AllowOverride  None

     Order  allow, deny

     allow  from  all

   </Directory>

   指令及其參數說明:

  (1Options:控制在特定目錄中將使用哪些服務器特性。

     Indexs:若訪問目錄下無index文件,則准許顯示該目錄下的文件列表以供選擇。

     FollowSymLinks:准許在目錄中使用符號連接到其餘目錄。

     MultiViews:准許內容協商的「多重視圖」。若是客戶端請求的路徑可能對應多種類型的文件,服務器將根據客戶端請求的具體情

     況自動選擇一個最匹配客戶端要求的文件。例如只在地址欄輸入index也能夠訪問到index.php頁面。

     Includes:准許SSI

     IncludesNOEXEC:准許SSI,但不可以使用execinclude功能。

     ExecCGI:准許在該目錄下使用CGI

     All:表示除了MultiViews以外的全部特性。

     None:表示不啓用任何的服務器特性。

     注意:若是一個目錄被屢次設置了options,則最特殊的一個會被徹底接受。

   (2AllowOverrid:是否准許文件「.htaccess」中設定的權限覆蓋「access.conf」文件中設定的權限。

     All:准許覆蓋。

     None:不許許覆蓋。

     AuthConfig:容許使用與認證受權相關的指令。

     FileInfo:容許使用控制文檔類型的指令、控制文檔元數據的指令、mod_rewrite中的指令、mod_actions中的Action指令。

     Indexs:容許使用控制目錄索引的指令。

     Limit:容許使用控制主機訪問的指令。

   (3Order:控制默認的訪問狀態和allowdeny指令生效的順序。

     allow:容許訪問。

     deny:拒絕訪問。

     這兩個參數由最後一個出現的參數決定,如「Order allowdeny」默認拒絕了全部的意思(中間有且只有一個逗號),但最終的判斷

     結果還要總下面的allow、deny語句中各自所包含的範圍(若是有的話),這兩個語句後面都必定接着「from」,不然Apache

     會沒法啓動。「Order allowdeny」表示先判斷allow語句再判斷deny語句。

    注意:上面的Orderallowdeny語句是針對Apache2.2的配置,Apache2.4的客戶端訪問控制由Require語句來配置。

  區別示例:

  拒絕全部請求:

  2.2配置:

  Order  deny,allow

  deny  from all

  2.4配置:

  Require  all  denied

  容許全部請求:

  2.2配置:

  Order  allowdeny

  allow  from all

  2.4配置:

  Require  all  granted

  只容許某個特定IP的訪問:

  2.2配置:

  Order  deny,allow

  deny  from  all

  allow  IP-address

  2.4配置

  Require  host  IP-addres

10. <Files>:提供基於文件名的訪問控制。<Files>段將根據他們在配置文件中出現的順序被處理:在<Directory>段和.htaccess文件被處理以後,但在<Location>段以前。<Files>能嵌

  入到<Directory>段中以限制它們做用的文件範圍。也可用於.htaccess文件當中,以容許用戶在文件層面上控制對文件的訪問。

  配置示例:

  <Files ".ht*">

      Require all denied

  </Files>

11. <IfModule>:封裝根據指定的模塊是否啓用而決定是否生效的指令。

   配置示例:

   <IfModule http2_module>

      ProtocolsHonorOrder On

      Protocols h2 h2c http/1.1

   </IfModule>

12. DirectoryIndex:當客戶端請求一個目錄時尋找的資源列表。

   配置示例:

   DirectoryIndex index.php index.htm index.html

   (服務器將返回最早找到的那一個)

13. ErrorLog:指定當服務器遇到錯誤時記錄錯誤日誌的文件。

   (若不是一個以「/」開頭的絕對路徑,則是一個相對於ServerRoot的相對路徑)

   配置示例:

   ErrorLog "logs/error.log"

14. LogLevel:用於調整記錄在錯誤日誌中的信息的詳細程度。

   錯誤信息詳細程度按重要性降序排列以下:

   emerg:緊急(系統沒法使用)

   alert:必須當即採起措施。

   crit:致命狀況。

   error:錯誤狀況。

   warn:警告狀況。

   notice:通常重要狀況。

   info:普通訊息。

   debug:調試信息。

   (當指定了某個級別時,全部級別高於它的信息也會被同時記錄)

   配置示例:

   LogLevel  warn

15. LogFormat:定義訪問日誌的記錄格式。

   配置示例:

   LogFormat  "%h %l %u %t \"%r\" %>s %b"  common

   (其中common就是這種格式的標識符)

16. CustomLog:設定日誌的文件名和格式。

   配置示例:

   CustomLog  "logs/access.log"  common

   (使用標識符common定義的格式來記錄logs/access.log這個日誌文件)

17. TransferLog:指定日誌文件的位置。

   本指令除不容許直接定義日誌格式或根據條件進行日誌記錄外,與CustomLog指令有完全相同的參數和功能。

18. Alias:映射URL到文件系統的特定區域。Alias指令使客戶端能夠訪問到DocumentRoot之外的本地文件。

   配置示例:

   Alias /myphoto "E:/照片"

    <Directory "E:/照片">

        Options Indexes

        Require all granted

   </Directory>

    目錄/myphoto是相對於DocumentRoot的相對路徑,甚至能夠是一個不存在的目錄,這時訪問該目錄就會映射到「E:/照片」目錄中。

    注意:必定要經過<Directory>段明確地對目標目錄設定訪問權限,不然會提示「forbidden」。

 

  Redirect:將一個路徑重定向到另外一個路徑下。

  配置示例:

  Redirect  /haha  /chsfc

  (RedirectAlias不一樣,配置中的兩個路徑都是在DocumentRoot目錄下的)

 

  注意:要使用AliasRedirect都應該先開啓alias_module模塊功能。

 

19. ScriptAlias:映射一個URL到文件系統並視之爲CGI腳本目錄。

   配置示例:

   ScriptAlias /cgi-bin/ "D:/wamp/bin/Apache2.4.23/cgi-bin"

20. DefaultType:當服務器沒法肯定一個文檔的內容類型時發送的默認MIME內容類型。

   配置示例:

   DefaultType  text/plain   (純文本,瀏覽器在內部打開)

   DefaultType  application/octet-stream   (瀏覽器提示用戶進行保存)

21. AddType:爲特定後綴的文件指定MIME類型,這裏的設置將覆蓋mime.types中的設置。

   配置示例:

   AddType  application/x-httpd-php  .php .html .htm   (前導點可帶可不帶)

22. ErrorDocument:批示當遇到錯誤的時候服務器將給客戶端什麼樣的應答。

   語法:

   ErrorDocument  error-code  document

   其中error-code時服務器返回的錯誤代碼,document是迴應的數據,能夠是簡單的文本,

   本地網頁,本地CGI程序,或遠程主機上的網頁。

   配置示例:

   ErrorDocument  500  "The server made a boo boo."

   ErrorDocument  402  http://www.example.com/subscription_info.html

23. EnableMMAP:指示httpd在遞送中若是須要讀取一個文件的內容,是否可使用內存映射。

   配置示例:

   EnableMMAP  On

   EnableMMAP  Off

   (這種內存映射有時會帶來性能的提升,有時卻會出現問題)

 24. EnableSendfile:控制httpd是否可使用操做系統內核的sendfile支持來將文件發送到戶端。

 配置示例:

   EnableSendfile  Off

   (這個sendfile機制避免了分開的讀和寫操做以及緩衝區分配,可是在一些平臺或文件系統上會引起一些問題)

25. include:在服務器配置文件中包含其餘配置文件。

   配置示例:

   include  conf/extra/httpd-autoindex.conf

   Apache安裝目錄下的conf/extra/目錄中有一些補充配置文件,能夠根據須要,經過配置將它們包含到主配置文件conf/httpd.conf文件中。

 

 

 

注意:寫Apache配置時,千萬不能出現拼寫錯誤,否則服務器會一直重啓失敗!

相關文章
相關標籤/搜索