




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Linux下 httpd.conf 配置詳解1 / 441. 關(guān)于本文本文將以Apache 2.2為例,以rhel5為平臺(tái),講述Apache服務(wù)器的安裝和設(shè)置。 2. 關(guān)于Apache Apache 是一款功能強(qiáng)大、穩(wěn)定、可支撐關(guān)鍵任務(wù)的Web服務(wù)器 Apache具有如下特性: 1) 幾乎可以運(yùn)行在所有的計(jì)算機(jī)平臺(tái)上. 2) 支持最新的HTTP/1.1協(xié)議 3) 簡(jiǎn)單而且強(qiáng)有力的基于文件的配置(HTTPD.CONF). 4) 支持通用網(wǎng)關(guān)接口(CGI) 5) 支持虛擬主機(jī). 6) 支持HTTP認(rèn)證. 7) 集成PERL. 8) 集成的代理服務(wù)器 9) 可以通過(guò)WEB瀏覽器監(jiān)視服務(wù)器的狀態(tài), 可
2、以自定義日志. 10) 支持服務(wù)器端包含命令(SSI). 11) 支持安全SOCKET層(SSL). 12) 具有用戶會(huì)話過(guò)程的跟蹤能力. 13) 支持FASTCGI 14) 支持JAVA SERVLETS. 更多信息請(qǐng)參閱Apache網(wǎng)站:3. Apache的安裝 Apache的安裝無(wú)外兩種方式:源碼包安裝和二進(jìn)制包安裝。這兩種方式各有特色,二位制包安裝不需編譯,針對(duì)不同的平臺(tái)有經(jīng)過(guò)優(yōu)化編譯的不同的二進(jìn)制文件以及包格式,安裝簡(jiǎn)單方便,源碼包則必須先配置編譯再安裝,可以根據(jù)你所用的主機(jī)環(huán)境進(jìn)行優(yōu)化、選擇你所用的模塊,安裝定制更靈活。下面分別介紹這兩種
3、安裝方式。3.1 以源碼包方式安裝 3.1.1 下載最新版本的apache軟件 訪問(wèn)apahce網(wǎng)站/download.cgi下載最新版本的Apache源碼包。本文使用的是2.2.6版本,在linux系統(tǒng)下用下面的命令下載: wget 3.1.2 解壓縮下載的源碼包 首先建立一個(gè)工作目錄( 筆者建議的目錄為/usr/local/src/apache ) : mkdir -p /usr/local/src/apache 將下載的源碼包移至工作目錄: mv httpd-2.2.6.tar.gz /usr/local/src/apache 進(jìn)入工作目錄并用
4、tar命令解壓源碼包: cd /usr/local/src/apache tar zxvf httpd-2.2.6.tar.gz 命令執(zhí)行結(jié)束后,當(dāng)前工作目錄下將生成一個(gè)新的子目錄httpd-2.2.6,此目錄下即為Apache的源碼文件。 3.1.3 配置Makefile文件 進(jìn)入Apache源碼目錄 cd httpd-2.2.6 執(zhí)行下面的命令可查看可配置選項(xiàng)和可用模塊:./configure -help 配置命令常用格式如下:CC=gcc CFLAGS=-O3 CXX=gcc CXXFLAGS=-O3 -felide-constructors -fno-exceptions -fno-r
5、tti ./configure -prefix= -enable-=ARG -disable- -enable-modules= -enable-so -enable-mods-shared= -with-mpm=其中: CC:C編譯器的名稱(用于運(yùn)行configure),本文示例為gcc CFLAGS:C編譯器的標(biāo)志(用于運(yùn)行configure),本文示例為-O3,指定優(yōu)化級(jí)別為3 CXX:C+編譯器的名稱(用于運(yùn)行configure),本文示例為gcc CXXFLAGS:C+編譯器的標(biāo)志(用于運(yùn)行configure)-prefix= 指明編譯后的二進(jìn)制文件安裝到目錄,用實(shí)際安裝路徑替換,如
6、 -prefix=/usr/local/apache-2.2.6 ,如果省略此配置參數(shù),默認(rèn)安裝到/usr/local/apache2目錄。為了提高性能、方便系統(tǒng)升級(jí)、備份和恢復(fù),筆者建議不要將apache與操作系統(tǒng)安裝在同一物理磁盤(pán)或分區(qū)上,并且安裝路徑中要包括程序版本號(hào)。-enable-=ARG 明確指明靜態(tài)編譯某一屬性或模塊到httpd二進(jìn)制文件,如果=ARG不明確指出,默認(rèn)為=yes;如果指定=ARG為=no,則效果等同于下面的-disable-;如果指定=ARG 為=share,則單獨(dú)編譯為動(dòng)態(tài)加載模塊(DSO),需要通過(guò)-enable-so選項(xiàng)打開(kāi)DSO支持。用實(shí)際的屬性或模塊名來(lái)
7、替換,如-enable-rewrite,-enable-rewrite=no,-enable-rewrite=share-disable- 明確指明不靜態(tài)編譯某一屬性或模塊到httpd二進(jìn)制文件,用實(shí)際的屬性或模塊名來(lái)替換,如-disable-status -enable-modules= 明確指明要靜態(tài)編譯到httpd二進(jìn)制文件的模塊,為空格分隔的模塊名列表、all或者most,all表示包含所有模塊,most表示包含大部分模塊,如-enable-modules=rewrite deflate,-enable-modules=most,效果等同于多個(gè)-enable- -enable-so 指
8、明編譯動(dòng)態(tài)加載模塊(DSO)支持到httpd二進(jìn)制文件,此模塊使得Apache的各功能模塊可以與核心分開(kāi)編譯、運(yùn)行時(shí)動(dòng)態(tài)加載。有了DSO支持,升級(jí)和增加模塊時(shí)只需編譯相關(guān)的模塊即可,不必重新編譯整個(gè)系統(tǒng)。最新版本的Apache缺省編譯此模塊到httpd二進(jìn)制文件,如果你在使用早期版本的 apache并且需要DSO支持,可能要明確指出此選項(xiàng)。-enable-mods-shared= 明確指明要以DSO方式編譯的模塊,為空格分隔的模塊名列表、all或者most,all表示包含所有模塊,most表示包含大部分模塊,如-enable-mods-share=rewrite deflate,-enable
9、-mods-share=most,效果等同于多個(gè)-enable-=share-with-mpm= 先擇Apache多路處理模塊,=beos|event|worker|prefork|mpmt_os2,prefork為 Unix系統(tǒng)下默認(rèn)處理模塊,它將運(yùn)行一個(gè)非線程型的、預(yù)派生的Web服務(wù)器,適合于沒(méi)有線程安全庫(kù),需要避免線程兼容性問(wèn)題的系統(tǒng),它是要求將每個(gè)請(qǐng)求相互獨(dú)立的情況下最好的MPM,這樣若一個(gè)請(qǐng)求出現(xiàn)問(wèn)題就不會(huì)影響到其他請(qǐng)求。worker為支持混合的多線程多進(jìn)程的多路處理模塊,由于使用線程來(lái)處理請(qǐng)求,所以可以處理海量請(qǐng)求,而系統(tǒng)資源的開(kāi)銷小于基于進(jìn)程的MPM,同時(shí),它也使用了多進(jìn)程,每個(gè)
10、進(jìn)程又有多個(gè)線程,以獲得基于進(jìn)程的MPM的穩(wěn)定性。如果你的系統(tǒng)是基于線程安全的,那么筆者建議使用worker替代prefork,它將使得你的系統(tǒng)得到實(shí)際的性能改善。 如果執(zhí)行不帶任何選項(xiàng)的configure命令,將采用prefork多路處理模塊,以默認(rèn)方式安裝Apache2.2到/usr/local /apache2目錄,并以靜態(tài)方式編譯以下模塊: authn_file、authn_default、authz_host、authz_groupfile、authz_user、 authz_default、auth_basic、include、filter、log_config、env、seten
11、vif、mime、 status、autoindex、asis、cgi、negotiation、dir、actions、userdir、alias、so安裝后可以在apache安裝目錄下執(zhí)行下面的命令得知以靜態(tài)方式編譯的模塊列表以及正在以哪種多路處理模塊運(yùn)行: ./bin/httpd -l 可根據(jù)服務(wù)器的具體用途選擇不同的配置選項(xiàng),筆者建議采用worker多路處理模塊,以動(dòng)態(tài)加載模塊(DSO)的方式來(lái)編譯大部分模塊。配置命令如下所示:./configure -prefix=/usr/local/apache-2.2.6 -enable-so -enable-mods-shared=most -
12、with-mpm=worker如果你打算完全使用靜態(tài)方式編譯,那么筆者建議編譯時(shí)增加以下模塊:rewrite、deflate、expires、headers、cache、 file-cache、disk-cache、mem-cache,禁用以下模塊autoindex、asis、cgi、actions、 include,各模塊作用將在Apache配置一節(jié)詳細(xì)介紹。配置命令如下所示:./configure -prefix=/usr/local/apache-2.2.6 -enable-rewrite -enable-deflate -enable-expires -enable-cache -en
13、able-file-cache -enable-disk-cache -enable-mem-cache -disable-autoindex -disable-asis -disable-cgi -disable-actions -disable-include -with-mpm=worker或者: ./configure -prefix=/usr/local/apache-2.2.6 -enable-modules=rewrite deflate expires cache file-cache disk-cache mem-cache -disable-autoindex -disab
14、le-asis -disable-cgi -disable-actions -disable-include -with-mpm=worker本文使用下面的配置命令,能滿足大部分應(yīng)用環(huán)境: CC=gcc CFLAGS=-O3 CXX=gcc CXXFLAGS=-O3 -felide-constructors -fno-exceptions -fno-rtti ./configure -prefix=/usr/local/apache-2.2.6 -enable-modules=rewrite deflate expires cache file-cache disk-cache mem-cac
15、he proxy proxy-connectproxy-ftp proxy-http proxy-ajp proxy-balancer -enable-so -enable-mods-shared=most -with-mpm=worker 3.1.4 編譯源代碼 執(zhí)行下面的命令編譯源代碼: make 3.1.5 安裝 執(zhí)行下面的命令安裝apache到目標(biāo)路徑: make install3.1.6 設(shè)置開(kāi)機(jī)自啟動(dòng)服務(wù)控制腳本 Apache安裝后可通過(guò)其安裝路徑的bin目錄下的apachectl腳本控制服務(wù)的啟動(dòng)和停止。本例中apache安裝在/usr/local/apache-2.2.6,服務(wù)
16、控制腳本為: /usr/local/apache-2.2.6/bin/apachectl執(zhí)行下面的命令啟動(dòng)Apache服務(wù): /usr/local/apache-2.2.6/bin/apachectl start執(zhí)行下面的命令停止Apache服務(wù): /usr/local/apache-2.2.6/bin/apachectl stop 可以簡(jiǎn)單地把Apache啟動(dòng)命令加到/etc/rc.local文件,讓Apache隨系統(tǒng)啟動(dòng)而自動(dòng)啟動(dòng): echo /usr/local/apache-2.2.6/bin/apachectl start /etc/rc.local下面介紹如何把Apache加入到系
17、統(tǒng)服務(wù),用service命令來(lái)控制Apache的啟動(dòng)和停止。 首先以apachectl腳本為模板生成Apache服務(wù)控制腳本: grep -v # /usr/local/apache-2.2.6/bin/apachectl /etc/init.d/apache 用vi編輯Apache服務(wù)控制腳本/etc/init.d/apache: vi /etc/init.d/apache在文件最前面插入下面的行,使其支持chkconfig命令: #!/bin/sh# chkconfig: 2345 85 15# description: Apache is a World Wide Web server.
18、保存后退出vi編輯器,執(zhí)行下面的命令增加Apache服務(wù)控制腳本執(zhí)行權(quán)限: chmod +x /etc/init.d/apache 執(zhí)行下面的命令將Apache服務(wù)加入到系統(tǒng)服務(wù): chkconfig -add apache執(zhí)行下面的命令檢查Apache服務(wù)是否已經(jīng)生效: chkconfig -list apache命令輸出類似下面的結(jié)果:apache 0:off 1:off 2:on 3:on 4:on 5:on 6:off表明apache服務(wù)已經(jīng)生效,在2、3、4、5運(yùn)行級(jí)別隨系統(tǒng)啟動(dòng)而自動(dòng)啟動(dòng),以后可以使用service命令控制Apache的啟動(dòng)和停止。 啟動(dòng)Apache服務(wù): serv
19、ice apache start停止Apache服務(wù):service apache stop 執(zhí)行下面的命令關(guān)閉開(kāi)機(jī)自啟動(dòng): chkconfig apache off執(zhí)行下面的命令改變開(kāi)機(jī)自啟動(dòng)的運(yùn)行級(jí)別為3、5: chkconfig -level 35 apache on 3.2 二進(jìn)制包方式安裝3.2.1 從安裝媒體安裝 Apache二進(jìn)制包已經(jīng)包含在CentOS 5的安裝媒體中,可以直接從安裝媒體中安裝下面三個(gè)rpm包: httpd-2.2.3-6.el5.centos.1.i386.rpm httpd-devel-2.2.3-6.el5.centos.1.i386.rpm mod_ss
20、l-2.2.3-6.el5.centos.1.i386.rpm 不同的版本文件名可能有所不同,請(qǐng)注意區(qū)分。 執(zhí)行下面的命令安裝: rpm -iUvh httpd-2.2.3-6.el5.centos.1.i386.rpm rpm -iUvh httpd-devel-2.2.3-6.el5.centos.1.i386.rpm rpm -iUvh mod_ssl-2.2.3-6.el5.centos.1.i386.rpm 3.2.2 通過(guò)yum安裝 如果你安裝的機(jī)器此時(shí)可以連接到互聯(lián)網(wǎng),筆者建議使用yum命令來(lái)簡(jiǎn)化安裝過(guò)程: yum install httpd httpd-devel mod_ss
21、l yum將自動(dòng)從centos的鏡像站點(diǎn)查找你指明的軟件的最新二進(jìn)制包,并檢查軟件包依賴關(guān)系,安裝軟件的同時(shí)自動(dòng)安裝其依賴的軟件包。3.2.3 選擇多路處理模塊(MPM) 二進(jìn)制方式安裝時(shí),unix系統(tǒng)下默認(rèn)使用prefork多路處理模塊,如果想使用worker多路處理模塊,需要在/etc/sysconfig/httpd文件中增加下面的行: HTTPD=/usr/sbin/httpd.worker 可以執(zhí)行下面的命令來(lái)完成: echo HTTPD=/usr/sbin/httpd.worker /etc/sysconfig/httpd3.2.4 設(shè)置開(kāi)機(jī)自啟動(dòng)服務(wù)控制腳本 二進(jìn)制方式安裝不需要手
22、動(dòng)建立開(kāi)機(jī)自啟動(dòng)服務(wù)控制腳本,安裝過(guò)程將在/etc/init.d目錄下自動(dòng)建立名為httpd的服務(wù)控制腳本,并將其添加到系統(tǒng)服務(wù),可以使用service命令控制Apache的啟動(dòng)與停止。啟動(dòng)Apache服務(wù):service httpd start 停止Apache服務(wù): service httpd stop 執(zhí)行下面的命令關(guān)閉開(kāi)機(jī)自啟動(dòng): chkconfig httpd off執(zhí)行下面的命令改變開(kāi)機(jī)自啟動(dòng)的運(yùn)行級(jí)別為3、5: chkconfig -level 35 httpd on 至此,Apache安裝過(guò)程結(jié)束,接下來(lái)進(jìn)入Apache配置過(guò)程。 4. Apache的配置 4.1 目錄結(jié)構(gòu)4.
23、1.1 源碼包方式安裝目錄結(jié)構(gòu) 源碼包方式安裝時(shí)通常是在3.1.3節(jié)中configure命令的-prefix選項(xiàng)指定的目錄中建立如下的目錄結(jié)構(gòu),特殊指定的目錄除外: ./icons #Apache圖標(biāo)文件目錄 ./modules #動(dòng)態(tài)加載模塊目錄 ./lib #庫(kù)文件目錄 ./logs #日志文件目錄 ./build # ./conf #主配置文件目錄 ./conf/extra #擴(kuò)展及模塊配置文件目錄 ./error #默認(rèn)錯(cuò)誤應(yīng)答文件目錄 ./manual #Apache文檔目錄 ./include #包含頭文件目錄 ./htdocs #默認(rèn)WEB文檔根目錄 ./cgi-bin #默認(rèn)c
24、gi文件目錄 ./bin #Apache二進(jìn)制程序及服務(wù)程序目錄 ./man #man幫助文件目錄4.1.2 二進(jìn)制包方式安裝目錄結(jié)構(gòu) 二進(jìn)制包方式安裝時(shí)使用系統(tǒng)軟件默認(rèn)目錄結(jié)構(gòu) : /etc/httpd/conf #主配置文件目錄 /etc/httpd/conf.d #擴(kuò)展及模塊配置文件目錄 /etc/httpd/logs鏈接到/var/log/httpd #日志文件目錄 /etc/httpd/modules鏈接到/usr/lib/httpd/modules #動(dòng)態(tài)加載模塊目錄 /etc/httpd/run鏈接到/var/run #PID及鎖文件目錄 /etc/logrotate.d/htt
25、pd #日專輪循設(shè)置文件 /etc/rc.d/init.d/httpd #服務(wù)控制腳本 /etc/sysconfig/httpd #服務(wù)控制腳本附加參數(shù)設(shè)置文件 /usr/bin #Apache二進(jìn)制軟件目錄 /usr/sbin/ #Apache服務(wù)程序目錄 /usr/share/doc/httpd-* #Apache文檔目錄 /usr/share/man/ #Apache Man文檔目錄 /var/www/cgi-bin #默認(rèn)CGI文件目錄 /var/www/error #默認(rèn)錯(cuò)誤應(yīng)答文件目錄 /var/www/html #默認(rèn)WEB文檔根目錄 /var/www/icons #Apache
26、圖標(biāo)文件目錄 4.2 配置文件 Apache的配置文件是包含若干指令的純文本文件。4.2.1 主配置文件 主配置文件通常叫httpd.conf ,其位置是編譯時(shí)確定的,通常位于4.1目錄結(jié)構(gòu)小節(jié)中所示的主配置文件目錄,但可以用命令行參數(shù) -f 來(lái)改變。另外,還可以用Include指令和通配符附加許多其他配置文件。任何配置文件都可以使用任何指令。只有在啟動(dòng)或重新啟動(dòng)Apache后,主配置文件的更改才會(huì)生效。4.2.2 配置文件的語(yǔ)法 配置文件的每一行包含一個(gè)指令,在行尾使用反斜杠可以表示續(xù)行,但是反斜杠與下一行之間不能有任何其他字符(包括空白字符)。 配置文件中的指令是不區(qū)分大小寫(xiě)的,但是指令的
27、參數(shù)(argument)通常是大小寫(xiě)敏感的。以#開(kāi)頭的行被視為注解并被忽略。注解不能出現(xiàn)在指令的后邊??瞻仔泻椭噶钋暗目瞻鬃址麑⒈缓雎?,因此可以采用縮進(jìn)以保持配置層次的清晰。 4.2.3 模塊 Apache是模塊化的服務(wù)器,這意味著核心中只包含實(shí)現(xiàn)最基本功能的模塊。擴(kuò)展功能可以作為模塊動(dòng)態(tài)加載。默認(rèn)情況下,只有base組的模塊被編譯進(jìn)了服務(wù)器。如果服務(wù)器在編譯時(shí)包含了DSO模塊,那么各模塊可以獨(dú)立編譯,并可隨時(shí)用LoadModule指令加載;否則,要增加或刪除模塊必須重新編譯整個(gè)Apache。用于特定模塊的指令可以用指令包含起來(lái),使之有條件地生效。 用命令行參數(shù) -l 可以查看已經(jīng)編譯到服務(wù)器
28、中的模塊,命令格式如下: /apachectl -l 其中: 為4.1目錄結(jié)構(gòu)小節(jié)中所示的服務(wù)程序目錄。 下面是命令行的例子: /usr/local/apache-2.2.6/bin/apachectl -l /usr/sbin/apachectl -l4.2.4 指令的作用域 主配置文件中的指令對(duì)整個(gè)服務(wù)器都有效。 如果你只想改變某一部分的配置,你可以把指令嵌入到、 配置段中,這樣就可以限制指令的作用域?yàn)槲募到y(tǒng)中的某些位置或特定的URL。這些配置段還可以進(jìn)行嵌套,以進(jìn)行更精細(xì)的配置。 Apache還具備同時(shí)支持多個(gè)站點(diǎn)的能力,稱為虛擬主機(jī)。配置段中的指令僅對(duì)該段中的特定站點(diǎn)(虛擬主機(jī))有效
29、。 雖然大多數(shù)指令可以包含在任意的配置段中,但是某些指令僅在某些特定的范圍內(nèi)才有意義,請(qǐng)參閱Apache官方文檔中指令說(shuō)明的作用域項(xiàng)。4.2.5 .htaccess文件 Apache可以使用分布在整個(gè)網(wǎng)站文件目錄樹(shù)結(jié)構(gòu)中的特殊文件來(lái)進(jìn)行分散配置,這些特殊的文件通常叫.htaccess ,但是也可以用AccessFileName指令來(lái)改變它的名字。.htaccess文件中指令的作用域是存放它的那個(gè)目錄及其所有子目錄。.htaccess文件的語(yǔ)法與主配置文件相同。由于對(duì)每次請(qǐng)求都會(huì)讀取.htaccess文件,所以對(duì)這些文件的修改會(huì)立即生效。 要了解一個(gè)指令是否可以用在.htaccess文件中,可以
30、查閱Apache官方文檔中指令說(shuō)明中該指令的作用域項(xiàng)。服務(wù)器管理員可以在主配置文件中使用AllowOverride指令來(lái)決定哪些指令可以在.htaccess文件中生效。 有關(guān).htaccess文件更詳細(xì)的資料,可以查看.htaccess指南。4.2.6 源碼包方式安裝與二進(jìn)制包方式安裝配置文件的區(qū)別 源碼包方式安裝最新版本的Apache時(shí),主配置文件中只包含少量與服務(wù)自身相關(guān)的指令,通過(guò)include指令和通配符附加其他配置文件,默認(rèn)不附加任何其它配置文件。附加的配置指令和模塊的具體配置指令以單獨(dú)的配置文件形式保存在4.1.1小節(jié)中所示的擴(kuò)展及模塊配置文件目錄./conf/extra 中,可根
31、據(jù)需要在主配置文件中附加。 二進(jìn)制包安裝Apache時(shí),主配置文件中包含了大部分配置指令,默認(rèn)通過(guò)include指令將/etc/httpd/conf.d目錄中的以.conf為擴(kuò)展名的文件自動(dòng)附加到主配置文件。4.3 推薦配置 下面以源碼包方式安裝的Apache為例來(lái)說(shuō)明筆者建議的配置,如果你正在使用二進(jìn)制包方式安裝的Apache,文中的所有配置指令都可以在/etc/httpd/conf/httpd.conf主配置文件中使用。 本文所使用的示例主機(jī)中Apache安裝在/usr/local/apache-2.2.6目錄,請(qǐng)使用你實(shí)際的安裝目錄替換。 Apache配置文件可使用你熟悉的任何文本編輯器
32、編輯,筆者使用vi 。4.3.1常用配置指令說(shuō)明 下面介紹本文中將會(huì)用到的一些常用配置指令,全部指令及其詳細(xì)用法請(qǐng)參見(jiàn)Apache2.2官方文檔。另外需要注意,當(dāng)在非UNIX平臺(tái)上輸入文件路徑的時(shí)候,要特別注意即使平臺(tái)本身是使用反斜杠()來(lái)分隔路徑的,在這里也只能使用正斜杠(/)。通常在配置文件里只用正斜杠(/)來(lái)分隔路徑總是不會(huì)錯(cuò)的。 ServerRoot:服務(wù)器的基礎(chǔ)目錄,一般來(lái)說(shuō)它將包含conf/和logs/子目錄,其它配置文件的相對(duì)路徑即基于此目錄。默認(rèn)為安裝目錄,不需更改。 語(yǔ)法: ServerRoot directory-path 如: ServerRoot /usr/local/
33、apache-2.2.6 注意,此指令中的路徑最后不要加 / 。 Listen:指定服務(wù)器監(jiān)聽(tīng)的IP和端口。默認(rèn)情況下Apache會(huì)在所有IP地址上監(jiān)聽(tīng)。Listen是Apache2.0以后版本必須設(shè)置的指令,如果在配置文件中找不到這個(gè)指令,服務(wù)器將無(wú)法啟動(dòng)。 語(yǔ)法:Listen IP-address:portnumber protocol Listen指令指定服務(wù)器在那個(gè)端口或地址和端口的組合上監(jiān)聽(tīng)接入請(qǐng)求。如果只指定一個(gè)端口,服務(wù)器將在所有地址上監(jiān)聽(tīng)該端口。如果指定了地址和端口的組合,服務(wù)器將在指定地址的指定端口上監(jiān)聽(tīng)??蛇x的protocol參數(shù)在大多數(shù)情況下并不需要,若未指定該參數(shù),則將
34、為443端口使用默認(rèn)的https 協(xié)議,為其它端口使用http協(xié)議。 使用多個(gè)Listen指令可以指定多個(gè)不同的監(jiān)聽(tīng)端口和/或地址端口組合。 默認(rèn)為:Listen 80 如果讓服務(wù)器接受80和8080端口上請(qǐng)求,可以這樣設(shè)置: Listen 80 Listen 8080 如果讓服務(wù)器在兩個(gè)確定的地址端口組合上接受請(qǐng)求,可以這樣設(shè)置: Listen :80 Listen :8080 如果使用IPV6地址,必須用方括號(hào)把IPV6地址括起來(lái): Listen 2001:db8:a00:20ff:fea7:ccea:80 LoadModule:加載特定的DSO
35、模塊。Apache默認(rèn)將已編譯的DSO模塊存放于4.1目錄結(jié)構(gòu)小節(jié)中所示的動(dòng)態(tài)加載模塊目錄中。 語(yǔ)法:LoadModule module filename 如:LoadModule rewrite_module modules/mod_rewrite.so 如果filename使用相對(duì)路徑,則路徑是相對(duì)于ServerRoot所指示的相對(duì)路徑。 Apache配置文件默認(rèn)加載所有已編譯的DSO模塊,筆者建議只加載如下模塊:authn_file、authn_default、 authz_host、authz_user、authz_default、auth_basic、dir、alias、filter
36、、speling、 log_config、env、vhost_alias、setenvif、mime、negotiation、rewrite、deflate、 expires、headers、cache、file-cache、disk-cache、mem-cache。 User:設(shè)置實(shí)際提供服務(wù)的子進(jìn)程的用戶。為了使用這個(gè)指令,服務(wù)器必須以root身份啟動(dòng)和初始化。如果你以非root身份啟動(dòng)服務(wù)器,子進(jìn)程將不能夠切換至非特權(quán)用戶,并繼續(xù)以啟動(dòng)服務(wù)器的原始用戶身份運(yùn)行。如果確實(shí)以root用戶啟動(dòng)了服務(wù)器,那么父進(jìn)程將仍然以root身份運(yùn)行。 語(yǔ)法: User Unix-userid Unix-u
37、serid是下列值之一: 一個(gè)用戶名,通過(guò)用戶名引用用戶 #號(hào)后面跟一個(gè)用戶編號(hào)(UID),通過(guò)用戶編號(hào)引用用戶 用于運(yùn)行子進(jìn)程的用戶必須是一個(gè)沒(méi)有特權(quán)的用戶,這樣才能保證子進(jìn)程無(wú)權(quán)訪問(wèn)那些不想為外界所知的文件,同樣的,該用戶亦需沒(méi)有執(zhí)行那些不應(yīng)當(dāng)被外界執(zhí)行的程序的權(quán)限。強(qiáng)烈建議專門(mén)為Apache子進(jìn)程建立一個(gè)單獨(dú)的用戶和組。一些管理員使用nobody用戶,但是這并不能總是符合要求,因?yàn)榭赡苡衅渌绦蛞苍谑褂眠@個(gè)用戶。 例:User daemon Group:設(shè)置提供服務(wù)的Apache子進(jìn)程運(yùn)行時(shí)的用戶組。為了使用這個(gè)指令,Apache必須以root初始化啟動(dòng),否則在切換用戶組時(shí)會(huì)失敗,并繼續(xù)
38、以初始化啟動(dòng)時(shí)的用戶組運(yùn)行。 語(yǔ)法:Group Unix-Group Unix-group可以是下列之一: 用戶組的名稱,通過(guò)名稱引用組 #號(hào)后跟一個(gè)組編號(hào)(GID) ,通過(guò)編號(hào)引用組。 例:Group daemon ServerAdmin:設(shè)置在所有返回給客戶端的錯(cuò)誤信息中包含的管理員郵件地址。 語(yǔ)法:ServerAdmin email-address|URL 如果httpd不能將提供的參數(shù)識(shí)別為URL,它就會(huì)假定它是一個(gè)email-address ,并在超連接中用在mailto:后面。推薦使用一個(gè)Email地址,因?yàn)樵S多CGI腳本是這樣認(rèn)為的。如果你確實(shí)想使用URL,一定要保證指向一個(gè)你能
39、夠控制的服務(wù)器,否則用戶將無(wú)法確保一定可以和你取得聯(lián)系。 例:ServerAdminwebmaster ServerName:設(shè)置服務(wù)器用于辨識(shí)自己的主機(jī)名和端口號(hào)。 語(yǔ)法:ServerName scheme:/fully-qualified-domain-name:port 可選的scheme:/前綴僅在2.2.3以后的版本中可用,用于在代理之后或離線設(shè)備上也能正確的檢測(cè)規(guī)范化的服務(wù)器URL。 當(dāng)沒(méi)有指定ServerName時(shí),服務(wù)器會(huì)嘗試對(duì)IP地址進(jìn)行反向查詢來(lái)推斷主機(jī)名。如果在ServerName中沒(méi)有指定端口號(hào),服務(wù)器會(huì)使用接受請(qǐng)求的那個(gè)端口。 為了加強(qiáng)可靠性和可預(yù)測(cè)性,建議使用Ser
40、verName顯式的指定一個(gè)主機(jī)名和端口號(hào)。 如果使用的是基于域名的虛擬主機(jī),在段中的ServerName將是為了匹配這個(gè)虛擬主機(jī),在Host:請(qǐng)求頭中必須出現(xiàn)的主機(jī)名。 DocumentRoot:設(shè)置Web文檔根目錄。 語(yǔ)法:DocumentRoot directory-path 在沒(méi)有使用類似Alias這樣的指令的情況下,服務(wù)器會(huì)將請(qǐng)求中的URL附加到DocumentRoot后面以構(gòu)成指向文檔的路徑。 如果directory-path不是絕對(duì)路徑,則被假定為是相對(duì)于ServerRoot的路徑。 指定DocumentRoot時(shí)不應(yīng)包括最后的/。 :和用于封裝一組指令,使之僅對(duì)某個(gè)目錄及其子目
41、錄生效。 語(yǔ)法: . Directory-path可以是一個(gè)目錄的完整路徑,或是包含了Unix shell匹配語(yǔ)法的通配符字符串。在通配符字符串中,?匹配任何單個(gè)的字符,*匹配任何字符序列。也可以使用來(lái)確定字符范圍。在 字符之后也可以使用正則表達(dá)式。 如果有多個(gè)(非正則表達(dá)式)配置段符合包含某文檔的目錄(或其父目錄),那么指令將以短目錄優(yōu)先的規(guī)則進(jìn)行應(yīng)用,并包含.htaccess文件中的指令。 正則表達(dá)式將在所有普通配置段之后予以考慮。所有的正則表達(dá)式將根據(jù)它們出現(xiàn)在配置文件中的順序進(jìn)行應(yīng)用。 指令不可被嵌套使用,也不能出現(xiàn)在或配置段中。 :提供基于文件名的訪問(wèn)控制,類似于和指令。 語(yǔ)法: .
42、 filename參數(shù)應(yīng)當(dāng)是一個(gè)文件名或是一個(gè)包含通配符的字符串,其中?匹配任何單個(gè)字符,*匹配任何字符串序列。在字符之后可以使用正則表達(dá)式。在此配置段中定義的指令將作用于其基本名稱(不是完整的路徑)與指定的文件名相符的對(duì)象。段將根據(jù)它們?cè)谂渲梦募谐霈F(xiàn)的順序被處理:在段和.htaccess文件被處理之后,但在段之前。能嵌入到段中以限制它們作用的文件系統(tǒng)范圍,也可用于.htaccess文件當(dāng)中,以允許用戶在文件層面上控制對(duì)它們自己文件的訪問(wèn)。:提供基于文件名的訪問(wèn)控制。與指令不同在于只能用正則表達(dá)式進(jìn)行文件匹配。語(yǔ)法: . :封裝根據(jù)指定的模塊是否啟用而決定是否生效的指令。語(yǔ)法: . modu
43、le-file是指編譯模塊時(shí)的文件名,比如mod_rewrite.c。module-identifier是指模塊的標(biāo)識(shí)符,比如mod_rewrite。在配置段中的指令僅當(dāng)測(cè)試結(jié)果為真的時(shí)候才進(jìn)行處理,否則所有其間的指令都將被忽略。Options:控制在特定目錄中將使用哪些服務(wù)器特性。語(yǔ)法:Options +|-option +|-option .option可以為None,不啟用任何額外特性,或者下面選項(xiàng)中的一個(gè)或多個(gè):All 除MultiViews之外的所有特性,這是默認(rèn)設(shè)置。ExecCGI 允許使用mod_cgi執(zhí)行CGI腳本。FollowSymLinks 服務(wù)器允許在此目錄中使用符號(hào)連接
44、,如果此配置位于配置段中,則會(huì)被忽略。Includes 允許使用mod_include提供的服務(wù)器端包含。IncludesNOEXEC 允許服務(wù)器端包含,但禁用#exec cmd和#exec cgi,但仍可以從ScriptAlias目錄使用#include virtual虛擬CGI腳本。Indexes 如果一個(gè)映射到目錄的URL被請(qǐng)求,而此目錄中又沒(méi)有DirectoryIndex(例如:index.html),那么服務(wù)器會(huì)返回由mod_autoindex生成的一個(gè)格式化后的目錄列表。MultiViews 允許使用mod_negotiation提供內(nèi)容協(xié)商的多重視圖(MultiViews)。Sy
45、mLinksIfOwnerMatch 服務(wù)器僅在符號(hào)連接與其目的目錄或文件的擁有者具有相同的uid時(shí)才使用它。 如果此配置出現(xiàn)在配置段中,則將被忽略。一般來(lái)說(shuō),如果一個(gè)目錄被多次設(shè)置了Options ,則最特殊的一個(gè)會(huì)被完全接受(其它的被忽略),而各個(gè)可選項(xiàng)的設(shè)定彼此并不融合。然而,如果所有作用于Options指令的可選項(xiàng)前都加有+ 或-符號(hào),此可選項(xiàng)將被合并。所有前面加有+號(hào)的可選項(xiàng)將強(qiáng)制覆蓋當(dāng)前的可選項(xiàng)設(shè)置,而所有前面有-號(hào)的可選項(xiàng)將強(qiáng)制從當(dāng)前可選項(xiàng)設(shè)置中去除。AllowOverride:確定允許存在于.htaccess文件中的指令類型。語(yǔ)法:AllowOverride All|None|
46、directive-type directive-type .如果此指令被設(shè)置為None ,那么.htaccess文件將被完全忽略。事實(shí)上,服務(wù)器根本不會(huì)讀取.htaccess文件。當(dāng)此指令設(shè)置為All時(shí),所有具有.htaccess作用域的指令都允許出現(xiàn)在.htaccess文件中。directive-type可以是下列各組指令之一:AuthConfig 允許使用與認(rèn)證授權(quán)相關(guān)的指令FileInfo 允許使用控制文檔類型的指令、控制文檔元數(shù)據(jù)的指令、mod_rewrite中的指令、mod_actions中的Action指令I(lǐng)ndexes 允許使用控制目錄索引的指令Limit 允許使用控制主機(jī)訪問(wèn)
47、的指令Options=Option,. 允許使用控制指定目錄功能的指令(Options和XBitHack)。可以在等號(hào)后面附加一個(gè)逗號(hào)分隔的(無(wú)空格的)Options選項(xiàng)列表,用來(lái)控制允許Options指令使用哪些選項(xiàng)。AllowOverride僅在不包含正則表達(dá)式的配置段中才是有效的。在, , 配置段中都是無(wú)效的。Order:控制默認(rèn)的訪問(wèn)狀態(tài)與Allow和Deny指令生效的順序。語(yǔ)法:Order OrderingOrdering取值范圍是以下幾種范例之一: Deny,Allow Deny指令在Allow指令之前被評(píng)估。默認(rèn)允許所有訪問(wèn)。任何不匹配Deny指令或者匹配Allow指令的客戶都被
48、允許訪問(wèn)。Allow,Deny Allow指令在Deny指令之前被評(píng)估。默認(rèn)拒絕所有訪問(wèn)。任何不匹配Allow指令或者匹配Deny指令的客戶都將被禁止訪問(wèn)。Mutual-failure 只有出現(xiàn)在Allow列表并且不出現(xiàn)在Deny列表中的主機(jī)才被允許訪問(wèn)。這種順序與Order Allow,Deny具有同樣效果,不贊成使用。關(guān)鍵字只能用逗號(hào)分隔,它們之間不能有空格,在所有情況下每個(gè)Allow和Deny指令語(yǔ)句都將被評(píng)估。Allow:控制哪些主機(jī)可以訪問(wèn)服務(wù)器的該區(qū)域。可以根據(jù)主機(jī)名、IP地址、 IP地址范圍或其他環(huán)境變量中捕獲的客戶端請(qǐng)求特性進(jìn)行控制。語(yǔ)法:Allow from all|host|env=env-variable host|env=env-variable .這個(gè)指令的第一個(gè)參數(shù)總是from,隨后的參數(shù)可以有三種不同形式:如果指定Allow from all,則允許所有主機(jī)訪問(wèn),按照下述Deny和Order指令的配置;若要只允許特定的主機(jī)或主機(jī)群訪問(wèn)服務(wù)器,host可以用下面任何一種格式來(lái)指定:一個(gè)(部分)域名、完整的IP地址、部分IP地址、網(wǎng)絡(luò)/掩碼、網(wǎng)絡(luò)/nnn無(wú)類別域間路由規(guī)格;第三種參數(shù)格式允許對(duì)服務(wù)器的訪問(wèn)由環(huán)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 5 Fantastic friends Understanding ideas ①-教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 植物提取物在化工中的應(yīng)用考核試卷
- Unit 5 Safety Fun Time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教新起點(diǎn)版英語(yǔ)四年級(jí)上冊(cè)
- 水果加工過(guò)程中的食品安全事故案例分析考核試卷
- 充電設(shè)施在特產(chǎn)店和旅游紀(jì)念品店的應(yīng)用考核試卷
- 體育會(huì)展綠色環(huán)保與可持續(xù)發(fā)展策略考核試卷
- 核果類水果食品安全與質(zhì)量控制考核試卷
- G通信技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用考核試卷
- 林業(yè)安全生產(chǎn)與風(fēng)險(xiǎn)管理考核試卷
- 八年級(jí)物理上冊(cè) 4.3《探究熔化和凝固的特點(diǎn)》教學(xué)實(shí)錄 (新版)粵教滬版
- 2025湖南省低空經(jīng)濟(jì)發(fā)展集團(tuán)有限公司招聘11人筆試參考題庫(kù)附帶答案詳解
- 七年級(jí)下冊(cè)道德與法治(2025年春)教材變化詳細(xì)解讀
- GB/T 11856.1-2025烈性酒質(zhì)量要求第1部分:威士忌
- 認(rèn)識(shí)常用電子元件圖解課件
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)1套
- 2025年黑龍江商業(yè)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案
- 2025年深圳市高三年級(jí)第一次調(diào)研考試英語(yǔ)(含答案)
- GB/T 20840.10-2025互感器第10部分:低功率無(wú)源電流互感器的補(bǔ)充技術(shù)要求
- 2024年國(guó)網(wǎng)陜西省電力有限公司招聘筆試真題
- 部編版小學(xué)(2024版)小學(xué)道德與法治一年級(jí)下冊(cè)《有個(gè)新目標(biāo)》-第一課時(shí)教學(xué)課件
- 課題申報(bào)參考:中外文藝交流互鑒研究
評(píng)論
0/150
提交評(píng)論