日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Linux Apache安裝及常規(guī)配置

系統(tǒng) 2026 0

轉(zhuǎn)自:http://book.51cto.com/art/201108/282390.htm

?

1.Apache安裝

? (1)使用RPM方式安裝Apache使用如下命令。

      rpm -ivh apr-1.2.7-11.i386.rpm  
rpm -ivh postgresql-libs-8.1.11-1.el5_1.1.i386.rpm  
rpm -ivh apr-util-1.2.7-7.el5.i386.rpm
rpm -ivh apr-util-ldap-1.3.9-3.el6.x86_64.rpm 
rpm -ivh httpd-tools-2.2.15-5.el6.x86_64.rpm 
rpm -ivh httpd-2.2.3-11.el5_1.3.i386.rpm 
    

? (2) 使用YUM方式,可直接使用如下命令安裝。

?

      yum -y install httpd.i* 
    

?

2. 8.4 Apache服務(wù)配置

在Apache服務(wù)安裝完成后,需要修改Apache服務(wù)配置文件以滿足使用需求。

8.4.1? 常規(guī)配置(1)

1.Apache服務(wù)啟動(dòng)、暫停

Apache屬于System V服務(wù),其啟動(dòng)、暫停相關(guān)命令如下。

  1. service?httpd?start?????#啟動(dòng) ?
  2. service?httpd?stop??????#停止 ?
  3. service?httpd?restart???????#重新啟動(dòng) ?
  4. service?httpd?reload????#重新加載 ?
  5. service?httpd?status????#查看當(dāng)前啟動(dòng)狀態(tài) ?

?

2.Apache服務(wù)自動(dòng)加載

設(shè)置Apache服務(wù)下一次開(kāi)機(jī)運(yùn)行狀態(tài)可通過(guò)以下命令或使用ntsysv命令在服務(wù)設(shè)置界面中配置,如圖8-2所示。

  1. chkconfig?httpd?on??????????????????#在運(yùn)行級(jí)別2、3、4、5上設(shè)置為自動(dòng)運(yùn)行。 ?
  2. chkconfig?httpd?off?????????????????#在運(yùn)行級(jí)別2、3、4、5上設(shè)置為不自動(dòng)運(yùn)行。 ?
  3. chkconfig?httpd?--level?35?on???????#在運(yùn)行級(jí)別3、5上設(shè)置為自動(dòng)運(yùn)行。 ?
  4. chkconfig?httpd?--level?35?off??????#在運(yùn)行級(jí)別3、5上設(shè)置為不自動(dòng)運(yùn)行。 ?
Linux Apache安裝及常規(guī)配置 ?
圖8-2? ntsysv命令配置服務(wù)

3.修改SELinux狀態(tài)

在Apache服務(wù)器中并不是所有的操作都會(huì)受到SELinux的影響,下面列出的是所有與Apache服務(wù)器有關(guān)的SELinux配置。

  1. setsebool?-P?httpd_enable_cgi?1?????????????????????① ?
  2. chcon?-t?-R?httpd_sys_script_exec_t?/var/www/cgi????????② ?
  3. setsebool?-P?httpd_enable_homedirs?1????????????????????③ ?
  4. setsebool?-P?httpd_tty_comm?1???????????????????????④ ?
  5. setsebool?-P?httpd_unified?0????????????????????????????⑤ ?
  6. setsebool?-P?httpd_builtin_scripting?0??????????????????⑥ ?
  7. setsebool?-P?httpd_can_network_connect?1????????????⑦ ?
  8. setsebool?-P?httpd_suexec_disable_trans?1???????????⑧ ?
  9. setsebool?-P?httpd_disable_trans?1??????????????????????⑨ ?
  10. semanage?port?-a?-t?http_port_t?-p?tcp?81???????????⑩ ?

其中各行含義如下。

①:允許Apache執(zhí)行CGI程序。

②:修改CGI文件的安全上下文件。

③:允許Apache訪問(wèn)用戶家目錄。

④:允許Apache訪問(wèn)終端。

⑤:取消Apache訪問(wèn)文件的安全上下文檢查。

⑥:取消SELinux對(duì)腳本程序的限制。

⑦:允許通過(guò)網(wǎng)絡(luò)連接到httpd服務(wù)。

⑧:允許Apache使用su進(jìn)行身份切換。

⑨:取消SELinux對(duì)Apache的限制。

⑩:允許Apache偵聽(tīng)81端口的HTTP請(qǐng)求(修改了Apache的偵聽(tīng)端口)。

除了上述SELinux配置外,推薦使用如下命令修改網(wǎng)頁(yè)文件的安全上下文(并不是所有的網(wǎng)頁(yè)文件都會(huì)因?yàn)榘踩舷挛亩艿絊ELinux的限制)。

  1. #/var/site/bbs.example.com為網(wǎng)頁(yè)文件存放目錄。 ?
  2. chcon?-R?-t?httpd_sys_content_t??/var/site/bbs.example.com ?

4.配置文件結(jié)構(gòu)

Apache服務(wù)配置文件有以下幾個(gè)共性。

(1)以"#"開(kāi)始的是注釋行(在執(zhí)行時(shí)將被忽略)。

(2)關(guān)鍵字對(duì)大小寫(xiě)不敏感。

(3)大多數(shù)參數(shù)都使用"參數(shù) 值"的方式配置。

(4)大多數(shù)參數(shù)在有多個(gè)值時(shí),使用空格分隔。

主配置文件/etc/httpd/conf/httpd.conf由以下3部分組成(在本章的配置中如無(wú)特殊說(shuō)明,所有參數(shù)的修改均指該配置文件)。

?


8.4.1? 常規(guī)配置(2)

(1)Global Environment:全局配置(如圖8-3所示)。該部分參數(shù)主要對(duì)Apache運(yùn)行環(huán)境及狀態(tài)進(jìn)行設(shè)置。

Linux Apache安裝及常規(guī)配置 ?
(點(diǎn)擊查看大圖)圖8-3? Global Environment
(2)Main server configuration:主服務(wù)配置(如圖8-4所示)。該部分實(shí)際也是對(duì)Apache運(yùn)行網(wǎng)站的參數(shù)設(shè)置,如果使用了虛擬主機(jī),也會(huì)成為虛擬主機(jī)配置中未定義參數(shù)的默認(rèn)值。
Linux Apache安裝及常規(guī)配置 ?
圖8-4? Main server configuration
(3)Virtual Hosts:虛擬主機(jī)配置(如圖8-5所示),如果主服務(wù)配置中的參數(shù)位于某個(gè)虛擬主機(jī)的配置中,那么這些參數(shù)只對(duì)該虛擬主機(jī)生效。
Linux Apache安裝及常規(guī)配置 ?
圖8-5? Virtual Hosts
由于在RHEL 5.x中Apache默認(rèn)包括以下參數(shù),因此所有位于/etc/httpd/conf.d目錄中的*.conf將被自動(dòng)附加到/etc/httpd/conf/httpd.conf文件中。有了這個(gè)功能,可以將需要配置的功能分成多個(gè)配置文件,存放在/etc/httpd/conf.d目錄中(文件名可任意,但必須以.conf結(jié)尾),便于管理配置。
  1. Include?conf.d/*.conf?

有很多Apache的模塊在安裝后會(huì)自動(dòng)在/etc/httpd/conf.d中創(chuàng)建一個(gè)配置文件將模塊載入,如果在安裝了模塊后,又不想使用該模塊時(shí),可以將/etc/httpd/conf.d對(duì)應(yīng)的配置文件改一個(gè)名字即可(改后的名字不能以.conf結(jié)尾)。使用如下命令查看Apache已載入的模塊,如圖8-6所示。

?

  1. httpd?-M?

?

Linux Apache安裝及常規(guī)配置 ?
圖8-6? httpd -M

在Apache中可通過(guò)容器Direcotry、File、Location對(duì)配置(參數(shù)位于"Main server configuration"部分)或某個(gè)虛擬主機(jī)進(jìn)行顆粒化的控制。最常用的容器是文件系統(tǒng)和網(wǎng)絡(luò)空間。

(1)文件系統(tǒng)容器使用以下格式。在定義目錄或文件時(shí)可以使用通配符("*"匹配任何字符串,"?"匹配任何單個(gè)的字符)或正規(guī)表達(dá)式。

  1. < Directory ?目錄 > ?
  2. ?????參數(shù) ?
  3. </ Directory > ?
  4. < Files ?文件 > ?
  5. ?????參數(shù) ?
  6. </ Files > ?
  7. < DirectoryMatch ?目錄正規(guī)表達(dá)式 > ?
  8. ?????參數(shù) ?
  9. </ DirectoryMatch > ?
  10. < FilesMatch ?文件正規(guī)表達(dá)式 > ?
  11. ?????參數(shù) ?
  12. </ FilesMatch > ?

(2)網(wǎng)絡(luò)空間使用以下格式。在定義目錄或文件時(shí)可以使用通配符("*"匹配任何字符串,"?"匹配任何單個(gè)的字符)或正規(guī)表達(dá)式。

  1. < Location ?路徑 > ?
  2. ?????參數(shù) ?
  3. </ Location > ?
  4. < LocationMatch ?路徑正規(guī)表達(dá)式 > ?
  5. ?????參數(shù) ?
  6. </ LocationMatch > ?

?


?

8.4.1? 常規(guī)配置(3)

下面看幾個(gè)使用容器的例子(例子中其他參數(shù)后述內(nèi)容中講解,這里只說(shuō)明容器的使用方式)。

(1)對(duì)/var/site/bbs.example.com目錄進(jìn)行訪問(wèn)控制。

  1. < Directory ?/var/site/bbs.example.com > ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. </ Directory > ?

(2)對(duì)/var/site/bbs.example.com/account.html進(jìn)行訪問(wèn)控制。

  1. < Files ?/var/site/bbs.example.com/account.html > ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. </ Files > ?

(3)對(duì)/var/site/bbs.example.com目錄和該目錄下的account.html實(shí)現(xiàn)不同的訪問(wèn)控制。

  1. < Directory ?/var/site/bbs.example.com > ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. ????? < Files ?account.html > ?
  6. ?????????Order?Allow,Deny ?
  7. ?????????Allow?From?All ?
  8. ?????????Deny?From?192.168.0.23 ?
  9. ????? </ Files > ?
  10. </ Directory > ?

(4)使用通配符對(duì)/var/site目錄下所有以.example.com結(jié)尾的目錄進(jìn)行訪問(wèn)控制。

  1. < Directory ?/var/site/*.example.com > ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. </ Directory > ?

(5)使用正規(guī)表達(dá)式對(duì)Word、 Excel及mp3文件進(jìn)行訪問(wèn)控制。

  1. < FilesMatch ?\.(?i:doc?x|xls?x|mp3)$ > ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. </ FilesMatch > ?

(6)對(duì)網(wǎng)站根目錄進(jìn)行訪問(wèn)控制。

  1. < Location ? /> ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. </ Location > ?

(7)對(duì)網(wǎng)站中admin目錄下的所有html文件進(jìn)行訪問(wèn)控制。

  1. < Location ?/admin/*.html > ?
  2. ?????Order?Allow,Deny ?
  3. ?????Allow?From?All ?
  4. ?????Deny?From?192.168.0.0/24 ?
  5. </ Location > ?

5.語(yǔ)法檢查

在每次修改完Apache配置文件后,可通過(guò)httpd -t檢查配置文件是否正確。如果在配置文件中有錯(cuò)誤httpd -t會(huì)顯示出錯(cuò)誤的內(nèi)容及行數(shù)等信息,如圖8-7所示。

?
圖8-7? httpd -t

6.初始配置

(1)ServerName。配置服務(wù)器用于識(shí)別自己的主機(jī)名和端口。當(dāng)未指定ServerName時(shí),Apache會(huì)嘗試對(duì)IP地址進(jìn)行反向解析來(lái)推斷FQDN。推薦使用ServerName指定一個(gè)FQDN及端口。在下面的例子配置Apache的FQDN(可以是A記錄,也可以是CNAME別名)為 www.example.com

  1. ServerName?www.example.com:80?

(2)ServerAdmin。配置Apache中返回的錯(cuò)誤信息中所包含的管理員郵箱。在下面的例子配置管理員的郵箱為 tonyzhang@example.com

  1. ServerAdmin?tonyzhang@example.com?

(3)ServerSignature。配置Apache生成文檔的頁(yè)腳。該參數(shù)可指定為Off表示不生成任何頁(yè)腳,On表示生成ServerTokens參數(shù)配置的值。E-Mail生成ServerTokens參數(shù)配置的值的同時(shí),使用ServerAdmin的值在服務(wù)器IP地址上增加一個(gè)mailto:的鏈接,如圖8-8所示。在RHEL 5.x默認(rèn)為On。

?

Linux Apache安裝及常規(guī)配置 ?
圖8-8? E-Mail

?

Prod:返回Apache的產(chǎn)品名稱,如圖8-9所示。

Major:返回Apache主版本號(hào),如圖8-10所示。

Linux Apache安裝及常規(guī)配置 ?
圖8-9? Prod
Linux Apache安裝及常規(guī)配置 ?
圖8-10? Major

8.4.1? 常規(guī)配置(4)

Minor:返回Apache主版本號(hào)及次版本號(hào),如圖8-11所示。

Min:返回Apache主版本號(hào)、次版本號(hào)、編譯版本號(hào),如圖8-12所示。

OS:返回Apache主版本號(hào)、次版本號(hào)、編譯版本號(hào)、操作系統(tǒng),如圖8-13所示。

Full:返回最詳細(xì)的信息,如圖8-14所示。

Linux Apache安裝及常規(guī)配置 ?
圖8-11? Minor
Linux Apache安裝及常規(guī)配置 ?
圖8-12? Min
Linux Apache安裝及常規(guī)配置 ?
圖8-13? OS
Linux Apache安裝及常規(guī)配置 ?
圖8-14? Full

7.默認(rèn)網(wǎng)站配置

如果希望以最簡(jiǎn)單的方式配置一個(gè)網(wǎng)站,只需要將網(wǎng)站內(nèi)容放入?yún)?shù)DirectoryRoot所指定的目錄中(在RHEL 5.x中該參數(shù)默認(rèn)值為/var/www/html)并保證網(wǎng)站所有內(nèi)容User參數(shù)所指定的用戶(在RHEL 5.x中該參數(shù)默認(rèn)值為apache)至少是有讀和執(zhí)行的權(quán)限即可。

8.默認(rèn)首頁(yè)配置

當(dāng)客戶端訪問(wèn)Web服務(wù)器時(shí),如果沒(méi)有指定所訪問(wèn)頁(yè)面時(shí),Apache將根據(jù)DirectoryIndex參數(shù)的設(shè)置在目錄查找相應(yīng)頁(yè)面顯示。如下面的例子中Apache將嘗試查找客戶端所指定顯示的目錄中是否有名為index.html、index.html.var、default.html其中之一的文件,如果有則顯示其內(nèi)容,如果沒(méi)有默認(rèn)情況顯示目錄中所有內(nèi)容(如果目錄中存在多個(gè)DirectoryIndex參數(shù)所指定文件,則根據(jù)順序顯示第一個(gè)指定文件)。

  1. DirectoryIndex?index.html?index.html.var?default.html?

9.目錄瀏覽配置

如果客戶端訪問(wèn)的目錄中沒(méi)有DirectoryIndex參數(shù)定義的頁(yè)面時(shí),默認(rèn)情況顯示目錄中所有內(nèi)容,如圖8-15所示。對(duì)于大多數(shù)企業(yè)網(wǎng)站來(lái)說(shuō)并不需要這樣的功能,可以將Options參數(shù)(默認(rèn)在/etc/httpd/conf/httpd.conf中320行左右,如圖8-16所示)中Indexes值刪除禁止使用這樣的目錄瀏覽功能。

Linux Apache安裝及常規(guī)配置 ?
圖8-15? 目錄瀏覽
?
圖8-16? Option

10.偵聽(tīng)I(yíng)P及端口配置

Apache在默認(rèn)情況下,會(huì)偵聽(tīng)本機(jī)所有IP地址的80端口,如圖8-17所示。可通過(guò)修改Listen參數(shù)改變偵聽(tīng)的IP或端口。Listen參數(shù)語(yǔ)法如下。

  1. Listen?[IP地址]:端口?

?

?
圖8-17? 偵聽(tīng)I(yíng)P及端口

?

8.4.1? 常規(guī)配置(5)

在配置Listen參數(shù)時(shí)至少需要端口,如不指定IP地址,默認(rèn)為本機(jī)IP地址。可以指定多個(gè)Listen參數(shù)指定偵聽(tīng)本機(jī)的某幾個(gè)IP地址的端口。在下面的例子中盡管本機(jī)有兩個(gè)IP地址指定但Apache處理192.168.0.10的80端口收到的客戶端請(qǐng)求,如圖8-18所示。

  1. Listen?192.168.0.10:80?

?

Linux Apache安裝及常規(guī)配置 ?
(點(diǎn)擊查看大圖)圖8-18? Listen

11.超時(shí)配置

Apache超時(shí)設(shè)置一般是通過(guò)Timeout(單位:秒,在RHEL 5.x默認(rèn)為120)參數(shù)設(shè)置,但影響Apache超時(shí)的參數(shù)還有以下幾個(gè)。

(1)KeepAlive:是否支持持久連接(在RHEL 5.x默認(rèn)為off)。KeepAlive 參數(shù)決定當(dāng)處理完客戶發(fā)起的HTTP請(qǐng)求后是否立即關(guān)閉TCP連接,如果KeepAlive 設(shè)置為On,那么用戶完成一次訪問(wèn)后,不會(huì)立即斷開(kāi)連接,當(dāng)后繼有請(qǐng)求時(shí),會(huì)繼續(xù)在這一次TCP連接中完成,而不用重復(fù)建立新的TCP連接和關(guān)閉TCP連接,這樣可以提高用戶訪問(wèn)速度。如果使用了代理服務(wù)器推薦配置為on。

(2)MaxKeepAliveRequests:在持久連接期間,所允許的最大請(qǐng)求數(shù)量。指定為0時(shí)表示不作限制(在RHEL 5.x默認(rèn)為100)。

(3)KeepAliveTimeout:在同一個(gè)客戶客戶端連接中,下一個(gè)請(qǐng)求的等待時(shí)間(單位為秒,在RHEL 5.x默認(rèn)為15)。

KeepAlive參數(shù)的設(shè)置需要根據(jù)實(shí)際情況判斷,比如Web服務(wù)器內(nèi)存是否充足、網(wǎng)頁(yè)內(nèi)容是否由動(dòng)態(tài)腳本生成、網(wǎng)頁(yè)是否引用大量JavaScript、CSS或類型文件、是否使用代理服務(wù)器等等。下面是幾種常見(jiàn)情況下KeepAlive參數(shù)的配置方法。

(1)當(dāng)客戶端瀏覽的網(wǎng)頁(yè),包含多個(gè)JavaScript、CSS或其他類似文件,并且這些文件位于同一臺(tái)Web服務(wù)器時(shí),一般將KeepAlive設(shè)置為"on"。

(2)當(dāng)客戶端瀏覽的網(wǎng)頁(yè),只包含少量JavaScript、CSS或其他類似文件,KeepAlive的設(shè)置作用不大。

(3)當(dāng)客戶端瀏覽的是動(dòng)態(tài)網(wǎng)頁(yè),其內(nèi)容大多通過(guò)動(dòng)態(tài)腳本生成時(shí),一般將KeepAlive設(shè)置為"off"。

12.連接配置

Apache提供以下幾個(gè)參數(shù)用于對(duì)連接數(shù)量等進(jìn)行配置。

(1)StartServers:指定啟動(dòng)Apache時(shí)啟動(dòng)的httpd進(jìn)程個(gè)數(shù)(在RHEL 5.x默認(rèn)為8)。

(2)ServerLimit:指定Apache允許配置同時(shí)處理的客戶端請(qǐng)求的最大值。

(3)MaxClients:指定Apache可以同時(shí)處理的客戶端請(qǐng)求(在RHEL 5.x默認(rèn)為256),這是對(duì)Apache性能影響最大的參數(shù)。如果請(qǐng)求總數(shù)已達(dá)到這個(gè)值,那么下面的請(qǐng)求就要排隊(duì),直到某個(gè)已處理請(qǐng)求完畢。可以根據(jù)硬件配置和負(fù)載情況來(lái)動(dòng)態(tài)調(diào)整這個(gè)值。256也是Apache默認(rèn)情況最大的值,如果希望配置為大于256時(shí),需要首先將ServerLimit參數(shù)的值配置為大于MaxClients的值。

(4)MinSpareThreads:Apache保持的最小空閑線程數(shù)(在RHEL 5.x默認(rèn)為5)。

(5)MaxSpareThreads:Apache保持的最大空閑線程數(shù)(在RHEL 5.x默認(rèn)為20)。如果空閑進(jìn)程數(shù)大于這個(gè)值,Apache會(huì)自動(dòng)刪除某些多余進(jìn)程。這個(gè)值一般不要設(shè)得過(guò)大,但如果設(shè)得比MinSpareServers小,Apache會(huì)自動(dòng)把它調(diào)整為MinSpareServers+1。

(6)MaxRequestsPerChild:每個(gè)子進(jìn)程被請(qǐng)求服務(wù)多少次后被刪除掉。0表示不限制(在RHEL 5.x默認(rèn)為4000)。

13.字符集配置

如果確定所有的頁(yè)面都為GB2312時(shí),可將AddDefaultCharset 參數(shù)設(shè)置為GB2312。但是如果有一些頁(yè)面并不是GB2312時(shí),這樣設(shè)置會(huì)導(dǎo)致在頁(yè)面中字符集設(shè)置(在頁(yè)面中使用<META http-equiv="Content-Type" content="text/html; charset=gb2312" />)無(wú)效,這是因?yàn)锳pache已經(jīng)先將GB2312指定為頁(yè)面默認(rèn)的字符集,因此這種情況下最好的解決方法是將AddDefaultCharset 參數(shù)設(shè)置為Off,并在頁(yè)面(對(duì)于動(dòng)態(tài)頁(yè)面也可以在對(duì)應(yīng)的腳本引擎中設(shè)置,如PHP可以在/etc/php.ini通過(guò)default_charset參數(shù)設(shè)置)中設(shè)置字符集。

14.單IP并發(fā)配置

當(dāng)在網(wǎng)站中提供了HTTP方式的下載時(shí),目前大多數(shù)客戶端在下載時(shí)都采用多線程下載工具(如迅雷、超級(jí)旋風(fēng)、網(wǎng)際快車等),這樣會(huì)給Web服務(wù)器帶來(lái)巨大的壓力。解決這類問(wèn)題也有很多種方式,其中一種就是在Apache中對(duì)單個(gè)IP的并發(fā)數(shù)及下載速度進(jìn)行限制。

單個(gè)IP并發(fā)數(shù)限制可通過(guò)mod_limitipconn模塊實(shí)現(xiàn)。mod_limitipconn是一個(gè)非官方的模塊(mod_limitipconn官方網(wǎng)站: http://dominia.org/djao/limitipconn.html ),使用該模塊后當(dāng)同一個(gè)IP的連接到達(dá)限制的時(shí)候,Apache對(duì)客戶端的Get請(qǐng)求發(fā)送"HTTP/1.1 503 Service Temporarily Unavailable"(該模塊并不能阻止DDOS或類似的攻擊)。使用如下命令安裝mod_limitipconn(RPM包下載地址 http://dominia.org/djao/limit/mod_limitipconn-0.23-1.el5.i386.rpm )。

  1. rpm?-ivh?mod_limitipconn-0.23-1.el5.i386.rpm?

在安裝完成后,會(huì)在/etc/httpd/conf.d目錄中建立一個(gè)名為limitipconn.conf的配置文件。在該文件中已將limitipconn.so模塊裝載,如圖8-19所示。

?
圖8-19? limitipconn.conf

8.4.1? 常規(guī)配置(6)

mod_limitipconn配置時(shí)使用Location指定要限制并發(fā)的目錄,MaxConnPerIP指定單個(gè)IP最大并發(fā)的數(shù)量,NoIPLimit指定在Location所指定目錄中不作限制的目錄,OnlyIPLimit指定只限制特定類型的文件(根據(jù)MIME內(nèi)容類型)。在下面的例子中將限制網(wǎng)站的根目錄(但不包括css目錄)及/media目錄(只限制所有視頻文件)的單個(gè)IP最大并發(fā)數(shù)量為5個(gè)(但根目錄下mp3目錄不限制)。

  1. < If ?Module?mod_limitipconn.c > ?
  2. ???? < Location ? /> ?
  3. ????????MaxConnPerIP?5 ?
  4. ????????NoIPLimit?css/* ?
  5. ???? </ Location > ?
  6. ???? < Location ?/media > ?
  7. ????????MaxConnPerIP?5 ?
  8. ????????OnlyIPLimit?audio/mpeg?video ?
  9. ???? </ Location > ?
  10. </ IfModule > ?

?

提示:MIME(Multipurpose Internet Mail Extensions,多用途互聯(lián)網(wǎng)郵件擴(kuò)展)是一個(gè)互聯(lián)網(wǎng)標(biāo)準(zhǔn),它擴(kuò)展了電子郵件標(biāo)準(zhǔn),使其能夠支持非ASCII字符、二進(jìn)制格式附件等多種格式的郵件消息。這個(gè)標(biāo)準(zhǔn)被定義在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等中。由RFC 822轉(zhuǎn)變而來(lái)的RFC 2822規(guī)定電子郵件標(biāo)準(zhǔn)不允許在郵件消息中使用7位ASCII字符集以外的字符。正因如此一些非英語(yǔ)字符消息和二進(jìn)制文件,圖像,聲音等非文字消息都不能在電子郵件中傳輸。MIME規(guī)定了用于表示各種各樣的數(shù)據(jù)類型的符號(hào)化方法。此外在萬(wàn)維網(wǎng)中使用的HTTP協(xié)議中也使用了MIME的框架。

15.下載速度配置

根據(jù)來(lái)源IP進(jìn)行帶寬限制可通過(guò)bw_mod模塊實(shí)現(xiàn)。bw_mod是一個(gè)非官方的模塊,使用該模塊后傳輸速度到達(dá)限制的時(shí)候,Apache斷開(kāi)與客戶端的連接。bw_mod配置方法如下。

(1)使用如下命令安裝相關(guān)軟件包。

  1. yum?-y?install?httpd-devel.i*?

(2)下載(下載地址: http://www.ivn.cl/files/source/mod_bw-0.8.tgz )源碼包后,使用如下命令解壓。

?

  1. tar?-xzvf?mod_bw-0.8.tgz?

(3)編譯mod_bw。

  1. cd?mod_bw ?
  2. apxs?-cia?mod_bw.c ?

(4)mod_bw在配置時(shí)有以下參數(shù)。

BandWidthModule [On|Off]:當(dāng)BandWidthModule On時(shí),才開(kāi)啟bw_mod的帶寬限制功能。

BandWidth [客戶端來(lái)源] [bytes/s]:設(shè)置帶寬限制的最大值,如在客戶端來(lái)源使用all關(guān)鍵字時(shí)表示所有訪問(wèn)Apache的客戶端(客戶端來(lái)源表示方法如表8-3所示),當(dāng)BandWidth值為0,則表示不限制帶寬。

  1. BandWidth?all?204800????????????????????① ?
  2. BandWidth?192.168.0.30?102400???????② ?

其中各行含義如下。

①:將所有客戶端最大帶寬限制為200kbit/s。

②:將IP地址為192.168.0.30的客戶端最大帶寬限制為100kbit/s。

MinBandWidth [客戶端來(lái)源] [bytes/s]:設(shè)置帶寬限制的最大值,如果在客戶端來(lái)源使用all關(guān)鍵字時(shí)表示所有訪問(wèn)Apache的客戶端,客戶端來(lái)源表示方法如表8-3所示。如果只有一個(gè)客戶端連接到Apache時(shí),該參數(shù)沒(méi)有作用,Apache會(huì)根據(jù)BandWidth的值限制其帶寬,如果有多個(gè)客戶端連接到Apache時(shí),Apache會(huì)根據(jù)MinBandWidth的值限制每個(gè)客戶端帶寬,根據(jù)BandWidth的值限制總帶寬。當(dāng)MinBandWidth值為0,則表示每個(gè)客戶端帶寬最大為256 bytes/s,當(dāng)MinBandWidth值為-1時(shí),每個(gè)客戶端帶寬最大為BandWidth的值。在下面的例子中將每個(gè)客戶端最大帶寬限制為200kbit/s。

表8-3?BandWidth來(lái)源

客戶端指定方法

????

滿足示例的客戶端

IP 指定單一主機(jī)

192.168.0.30

客戶端 IP 地址為 192.168.0.30

指定網(wǎng)段

192.168.0.0/255.255.255.0

客戶端所在網(wǎng)段為 192.168.0.0/24

指定網(wǎng)段

192.168.0.0/24

域名單一主機(jī)

client.example.com

客戶端 FQDN client.example.com

域名指定范圍

.example.com

客戶端 FQDN DNS 后綴為 example.com

所有客戶端

all

?

?

  1. BandWidth?all?204800 ?
  2. MinBandWidth?all?-1?

BandWidth u:[User-Agent] [bytes/s]:通過(guò)客戶端信息限制帶寬。

  1. BandWidth?"u:^Mozilla/5(.*)"?102400?① ?
  2. BandWidth?"u:wget"?204800???????????????????② ?

其中各行含義如下。

①:將使用FireFox的客戶端最大帶寬限制為100kbit/s。

②:將使用wget的客戶端最大帶寬限制為200kbit/s。

LargeFileLimit [文件類型] [文件大小] [bytes/s]:對(duì)于指定類型超過(guò)指定大小(單位為kbytes)的文件使用特定限制帶寬。在下面的例子中將所有超過(guò)500KB的AVI文件帶寬限制為300kbit/s。

  1. LargeFileLimit?.avi?500?307200?

?

?

8.4.1? 常規(guī)配置(7)

MaxConnection [客戶端來(lái)源] [最大連接數(shù)] :設(shè)置最大連接數(shù),當(dāng)直接最大連接數(shù)時(shí),Apache將返回503錯(cuò)誤給客戶端。如在客戶端來(lái)源使用all關(guān)鍵字時(shí)表示所有訪問(wèn)Apache的客戶端,MaxConnection參數(shù)在使用時(shí)必須有對(duì)應(yīng)的BandWidth,否則該參數(shù)將被忽略。

  1. BandWidth?all?204800????????????????????① ?
  2. MaxConnection?all?200???????????????????② ?
  3. BandWidth?192.168.0.30?102400???????③ ?
  4. MaxConnection?192.168.0.30?5????????④ ?

其中各行含義如下。

①:將所有客戶端最大帶寬限制為200kbit/s。

②:將所有客戶端最大連接數(shù)設(shè)置為200。

③:將IP地址為192.168.0.30的客戶端最大帶寬限制為100kbit/s。

④:將IP地址為192.168.0.30的客戶端最大連接數(shù)設(shè)置為5。

MaxConnection u:[User-Agent] [Max]:通過(guò)客戶端信息限制最大連接數(shù)。

  1. MaxConnection?"u:^Mozilla/5(.*)"?20?① ?
  2. MaxConnection?"u:wget"?5????????????????② ?

其中各行含義如下。

①:將使用FireFox的客戶端最大連接數(shù)限制為20。

②:將使用wget的客戶端最大連接數(shù)限制為5。

在使用BandWidth、MinBandWidth、LargeFileLimit、MaxConnection參數(shù)時(shí)可以根據(jù)客戶端來(lái)源不同指定多個(gè)。

?
?
?
?
?
?
?
?

Linux Apache安裝及常規(guī)配置


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 青川县| 遵化市| 宜丰县| 宜君县| 鄂托克前旗| 兴和县| 安塞县| 平陆县| 鲜城| 汽车| 柘城县| 清水河县| 文安县| 定安县| 龙泉市| 什邡市| 长宁区| 隆安县| 塔城市| 蛟河市| 邵阳市| 阿瓦提县| 沁源县| 大连市| 嘉定区| 舟山市| 乐清市| 杭州市| 衢州市| 通榆县| 浮山县| 峡江县| 海盐县| 化隆| 咸阳市| 武平县| 盐山县| 东兰县| 开化县| 改则县| 鞍山市|