PHP由淺入深-lesson-15-Apache服務器的基本配置

Apache服務器軟件介紹

網站只有發佈以後,用戶才能通過Web瀏覽器訪問到該網站中的信息資源。Web服務器軟件就是用於發佈網站的服務器,而Apache是世界使用排名第一的Web服務器軟件,它可以運行在幾乎所有廣泛使用的計算機平臺上。

Apache服務器所提供的資源其實就是一些文件,因此,管理員必須在服務器端先將數據文件寫好,並放置在某個特殊的目錄下,這個目錄就是整個網站的首頁位置。另外,客戶端必須在瀏覽器的“地址欄”輸入所需要的網址才行。

主要以Linux下源代碼包的安裝方法介紹Apache服務器的配置

Apache服務器的目錄結構

在Linux系統下使用源代碼包安裝Apache時,我們將Apache服務器的家目錄設置在/usr/local/apache2目錄下面。在學習Apache服務器配置之前首先了解一下Apache的目錄結構

Apache服務器配置庫文件目錄

  • 除了要了解Apache家目錄下的子目錄的作用,還有兩個比較重要的目錄需要掌握,就是存入Apache配置文件和子配置文件的兩個目錄,如下所示:
  • /etc/httpd/目錄:在通過源代碼包安裝Apache時,為Apache指定的主配置文件httpd.conf存放的目錄。
  • /etc/httpd/extra/目錄:該目錄為Apache擴展及模塊配置文件目錄。最新版本Apache服務器不僅有一個httpd.conf作為主配置文件,還存在一些輔助配置文件被存放在這個目錄下。

Apache服務器配置文件說明

  • /etc/httpd/httpd.conf 主配置文件
  • /etc/httpd/extra/ //顯示/etc/httpd/extra/下面的所有附加配置文件
  • httpd-autoindex.conf //配置目錄列表的輔配置文件
  • httpd-dav.conf //配置DAV的輔配置文件
  • httpd-default.conf //配置與Apache服務自身相關的輔配置文件
  • httpd-info.conf //配置用於服務器信息和狀態顯示的輔配置文件
  • httpd-languages.conf //配置語言支持的輔配置文件
  • httpd-manual.conf //配置提供Apache文檔訪問的輔配置文件
  • httpd-mpm.conf //配置多路處理模塊(MPM) 的輔配置文件
  • httpd-multilang-errordoc.conf //配置多語言錯誤應答的輔配置文件
  • httpd-ssl.conf //配置SSL模塊的輔配置文件
  • httpd-userdir.conf //配置用戶主目錄的輔配置文件
  • httpd-vhosts.conf //配置虛擬主機的輔配置文件

配置文件的語法格式

  • 以“#”作為註釋符 ,註解不能出現在指令的後邊
  • 使用變量賦值語法風格
  • 文件的每一行包含一個指令,它告訴Apache服務器以某種特定的方式完成某一項特定的任務
  • 在指令的行尾使用反斜槓“\\”可以表示續行,但是反斜槓與下一行之間不能有任何其他字符(包括空白字符)
  • 配置文件中的指令是不區分大小寫的,但是指令的參數(argument)通常是大小寫敏感的
  • 空白行和指令前的空白字符將被忽略,因此可以採用縮進以保持配置層次的清晰
  • 要特別注意即使平臺本身是使用反斜槓(\\)來分隔路徑的 ,通常在配置文件裡只用正斜槓(/)來分隔路徑總是不會錯的

Apache服務器全局參數設置

在Apache 2.2以上以源碼包安裝的版本中,主配置文件httpd.conf中只包含少量的必須使用的一些與服務自身相關的指令,大部分指令都被分散保存在輔助配置文件中。可以用Include指令和通配符附加這些輔助配置文件到主配置文件httpd.conf中,但默認不附加任何其他輔助配置文件。如果使用其他輔助配置文件中的設置,就需要手動在主配置文件中加載。

在主配置文件httpd.conf中的全局參數

ServerRoot "/usr/local/apache2" #設置服務器目錄的絕對路徑

#Listen 12.34.56.78:80 #允許Apache綁定指定的IP或者端口,實現對其監聽

Listen 80 #Apache綁定指定的端口80

#以下幾行加載特定的DSO(Dynamic Shared Object)模塊

LoadModule deflate_module modules/mod_deflate.so

LoadModule expires_module modules/mod_expires.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule php5_module modules/libphp5.so #動態加載php5模塊

#設置子進程的用戶和組,<ifmodule>.../<ifmodule>配置段用於封裝根據指定的模塊是否啟用而決定是否生效的指令。在<ifmodule>配置段中的指令僅當test為真的時候才進行處理。如果test為假,所有其間的指令都將被忽略/<ifmodule>

<ifmodule>

<ifmodule>

User daemon #設置實際提供服務的子進程的用戶

Group daemon #設置提供服務的Apache子進程運行時的用戶組

ServerAdmin [email protected] #設置在返回給客戶端的錯誤信息中包含的管理員郵件地址

#ServerName www.example.com:80 #設置服務器用於辨識自己的主機名和端口號

DocumentRoot "/usr/local/apache2/htdocs" #設置Web文檔根目錄,默認存放網頁位置

<ifmodule>

DirectoryIndex index.html #指令用於指定目錄中默認的索引文件名稱

附加配置文件httpd-default.conf中的全局參數

Timeout 300

#服務器在斷定請求失敗前等待的秒數

KeepAlive On

#啟用HTTP持久鏈接

MaxKeepAliveRequests 100

#一個持久鏈接中允許的最大請求數量

KeepAliveTimeout 5

#持久鏈接中服務器在兩次請求之間等待的秒數

HostnameLookups Off

#啟用對客戶端IP的DNS查找

附加配置文件httpd-mpm.conf中的全局參數

#設置prefork多路處理模塊

<ifmodule>

StartServers 5 #設置服務器啟動時建立的子進程數量

MinSpareServers 5 #設置空閒子進程的最小數量

MaxSpareServers 10 #設置空閒子進程的最大數量

MaxClients 150 #設置Apache的最大連接數

MaxRequestsPerChild 0 #設置每個子進程在其生存期內允許伺服的最大請求數量


分享到:


相關文章: