1.1 ServerRoot 配置
【ServerRoot "" 主要用於指定Apache的安裝路徑,此選項參數值在安裝Apache時系統會自動把Apache的路徑寫入。Windows安裝時,該選項的值為Windows安裝的路徑,Linux安裝時該選項值為編譯時選擇的路徑】
1.2 Mutex default:logs
互斥:允許你為多個不同的互斥對象設置互斥機制【mutex mechanism】和互斥文件目錄,或者修改全局默認值
如果互斥對象是基於文件的以及默認的互斥文件目錄不在本地磁盤或因為其它原因而不適用,那么取消注釋並改變目錄。
【下面這個命令是改變互斥對象的目錄】
1.3 Listen 配置
【Listen主要偵聽web服務端口狀態,默認為:80,即偵聽所有的地址的80端口,注意這里也可以寫成IP地址的偵聽形式,不寫即默認的地址:0.0.0.0】
1.4 Dynamic Shared Object (DSO) Support(動態共享對象支持)
【主要用於添加Apache一些動態模塊,比如php支持模塊。重定向模塊,認證模塊支持,注意如果需要添加某些模塊支持,只需把相關模塊前面注釋符號取消掉。如圖所示,要對Apache添加某個功能模塊,把前面的注釋符號去掉就行】
1.5 Apache運行用戶配置
【此選項主要用指定Apache服務的運行用戶和用戶組,默認為:daemon,如圖所示下】
1.6 Apache服務默認管理員地址設置
【此選項主要用指定Apache服務管理員通知郵箱地址,選擇默認值即可,如果有真實的郵箱地址也可以設置此值】
1.7 Apache的默認服務名及端口設置
【此選項主要用指定Apache默認的服務器名以及端口,默認參數值設置為:ServerName localhost:80即可】
1.8 Apache的根目錄訪問控制設置
【此選項主要是針對用戶對根目錄下所有的訪問權限控制,默認Apache對根目錄訪問都是拒絕訪問。后面會繼續講到】
1.6 Apache的默認網站根目錄設置及訪問控制
【此區域的配置文件,主要是針對Apache默認網站根目錄的設置以及相關的權限訪問設置,默認對網站的根目錄具有訪問權限,此選項默認值即可】
1.9 Apache的默認首頁設置
【此區域文件主要設置Apache默認支持的首頁,默認只支持:index.html首頁,如要支持其他類型的首頁,需要在此區域添加:如index.php表示支持index.php類型首頁】
1.10 Apache關於.ht文件訪問配置
【此選項主要是針對.ht文件訪問控制,默認為具有訪問權限,此區域文件默認即可】
1.11 Apache關於日志文件配置
【此區域文件主要是針對Apache默認的日志級別,默認的訪問日志路徑,默認的錯誤日志路徑等相關設置,此選項內容默認即可】
1.11 URL重定向,cgi模塊配置說明
【此區域文件主要包含一些URL重定向,別名,腳本別名等相關設置,以及一些特定的處理程序,比如cgi設置說明。后期會繼續說道】
1.12 MIME媒體文件,以及相關http文件解析配置說明
【此區域文件主要包含一些mime文件支持,以及添加一些指令在給定的文件擴展名與特定的內容類型之間建立映射關系,比如添加對php文件擴展名映射關系。】
1.13 服務器頁面提示設置
【此區域可定制的訪問錯誤響應提示,支持三種方式:1明文 ,2本地重定向 3,外部重定向;另外還包括內存映射或“發送文件系統調用”可被用於分發文件等配置】
1.14 Apache服務器補充設置
【此區域主要包括:服務器池管理,多語言錯誤消息,動態目錄列表形式配置,語言設置,用戶家庭目錄,請求和配置上的實時信息,虛擬主機,Apache Http Server手冊,分布式創作和版本控制,多種類默認設置,mod_proxy_html,使其支持HTML4/XHTML1等等補充配置的補充】
1.15 Apache服務器安全連接設置
【此區域主要是關於服務器安全連接設置,用於使用https連接服務器等設置的地方】
二、Apache擴展的配置文件
/application/apache/conf/extra # apache擴展的配置文件
[root@es extra]# ll
total 56
-rw-r--r-- 1 root root 2859 Jan 10 01:49 httpd-autoindex.conf
-rw-r--r-- 1 root root 1753 Jan 10 01:49 httpd-dav.conf
-rw-r--r-- 1 root root 2344 Jan 10 01:49 httpd-default.conf
-rw-r--r-- 1 root root 1103 Jan 10 01:49 httpd-info.conf
-rw-r--r-- 1 root root 5078 Jan 10 01:49 httpd-languages.conf
-rw-r--r-- 1 root root 932 Jan 10 01:49 httpd-manual.conf
-rw-r--r-- 1 root root 3789 Jan 10 01:49 httpd-mpm.conf
-rw-r--r-- 1 root root 2207 Jan 10 01:49 httpd-multilang-errordoc.conf
-rw-r--r-- 1 root root 11185 Jan 10 01:49 httpd-ssl.conf
-rw-r--r-- 1 root root 817 Jan 10 01:49 httpd-userdir.conf
-rw-r--r-- 1 root root 1507 Jan 10 01:49 httpd-vhosts.conf # 虛擬主機配置文件
三、httpd-vhosts.conf虛擬主機配置文件注釋
[root@es extra]# egrep -v "^.*#|^$" httpd-vhosts.conf |nl
1 NameVirtualHost *:80 # 基於名稱的虛擬主機配置( *:80表示監聽本機所有ip)
2 <VirtualHost *:80> # 定義一個虛擬主機
3 ServerAdmin webmaster@dummy-host.example.com # 配置管理員郵箱
4 DocumentRoot "/application/apache2.2.22/docs/dummy-host.example.com" # 程序的站點目錄
5 ServerName dummy-host.example.com # 域名服務,需要apache mode_alias模塊支持
6 ServerAlias www.dummy-host.example.com # 虛擬主機別名
7 ErrorLog "logs/dummy-host.example.com-error_log"# 錯誤的日志路徑
8 CustomLog "logs/dummy-host.example.com-access_log" common #訪問日志配置(生產環境我們用combined格式代替common格式)
9 </VirtualHost>
10 <VirtualHost *:80>
11 ServerAdmin webmaster@dummy-host2.example.com
12 DocumentRoot "/application/apache2.2.22/docs/dummy-host2.example.com"
13 ServerName dummy-host2.example.com
14 ErrorLog "logs/dummy-host2.example.com-error_log"
15 CustomLog "logs/dummy-host2.example.com-access_log" common
16 </VirtualHost>
四、Apache服務存放站點的目錄
/application/apache/htdocs # 默認存放網頁的路徑,輸入IP 到此目錄 能夠見到it's wroks! 就是此目錄
[root@es htdocs]# less index.html
<html><body><h1>It works!</h1></body></html>
五、Apache服務目錄結構說明
[root@es htdocs]# ls /application/apache/
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
bin啟動文件目錄說明
|-- bin # apache服務的命令目錄
| |-- ab # http服務性能測試工具
| |-- apachectl # apache啟動命令
| |-- apr-1-config
| |-- apu-1-config
| |-- apxs # http服務編譯和安裝擴展模塊使用工具,在DSO方式模塊編譯時用到
| |-- checkgid
| |-- dbmmanage
| |-- envvars
| |-- envvars-std
| |-- htcacheclean # 清理磁盤緩沖區的控制命令
| |-- htdbm
| |-- htdigest
| |-- htpasswd # 建立和更新基本認證文件
| |-- httpd # httpd為apache的控制命令程序
| |-- httxt2dbm
| |-- logresolve
| -- rotatelogs # apache自帶的日子輪詢命令(cronolog生產環境使用比較多)。
conf配置文件目錄
[root@es htdocs]# ls /application/apache/conf/
extra httpd.conf magic mime.types original
/application/apache/conf/ # apache配置所有的配置文件目錄
|-- extra # 額外的apache配置文件目錄 如:httpd-vhost.conf
| |-- httpd-autoindex.conf
| |-- httpd-dav.conf
| |-- httpd-default.conf
| |-- httpd-info.conf
| |-- httpd-languages.conf
| |-- httpd-manual.conf
| |-- httpd-mpm.conf
| |-- httpd-multilang-errordoc.conf
| |-- httpd-ssl.conf
| |-- httpd-userdir.conf
| |-- httpd-vhosts.conf
|-- httpd.conf # apache主配置文件
|-- magic
|-- mime.types
|-- original
| |-- extra
| | |-- httpd-autoindex.conf
| | |-- httpd-dav.conf # dav支持配置
| | |-- httpd-default.conf # 這個文件里配置的是apache的相關服務參數:超時時間、保持鏈接
| | |-- httpd-info.conf
| | |-- httpd-languages.conf # 語言支持
| | |-- httpd-manual.conf
| | |-- httpd-mpm.conf # 服務器池管理,也是優化apache的一個配置文件(apache的模式以及配置鏈接數,常用模式為worker模式和profork模式,默認porfork)
| | |-- httpd-multilang-errordoc.conf
| | |-- httpd-ssl.conf # 提供apache ssl支持配置文件
| | |-- httpd-userdir.conf
| | |-- httpd-vhosts.conf # 虛擬機的配置文件
| |-- httpd.conf
站點存放目錄
[root@es apache]# ls -l htdocs/ # 默認的首頁文件都放在此目錄當中。
total 4
-rw-r--r-- 1 root root 44 Nov 21 2004 index.html
日志存放目錄
[root@es apache]# tree logs
logs # apache服務默認的日志路徑,包括錯誤日志和訪問日志
|-- access_log # apache服務訪問日志 tail -f命令可以查看網頁用戶訪問的信息
|-- cgisock.16406
|-- error_log # apache服務的錯誤日志。如:apache服務啟動故障
|-- httpd.pid # httpd的pid文件,http進程啟動后,會把所有進程的id號寫到此文件
模塊目錄
[root@es apache]# ls -l manual/ # apache的模塊目錄 如php mencache
total 2984
-rw-r--r-- 1 root root 543 May 6 2008 bind.html
-rw-r--r-- 1 root root 11422 Jan 3 2012 bind.html.de