日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache2 httpd.conf 配置详解 (二)

發(fā)布時(shí)間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache2 httpd.conf 配置详解 (二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DocumentRoot "/usr/local/apache-2.2.6/htdocs"

#設(shè)置WEB文檔根目錄的默認(rèn)屬性

<Directory />

??? Options FollowSymLinks

??? AllowOverride None

??? Order deny,allow

??? Deny from all

</Directory>

#設(shè)置DocumentRoot指定目錄的屬性

<Directory "/usr/local/apache-2.2.6/htdocs">

??? Options FollowSymLinks

??? AllowOverride None

??? Order allow,deny

??? Allow from all

</Directory>

#設(shè)置默認(rèn)目錄資源列表文件

<IfModule dir_module>

??? DirectoryIndex index.html

</IfModule>

#拒絕對(duì).ht開頭文件的訪問,以保護(hù).htaccess文件

<FilesMatch "^\.ht">

??? Order allow,deny

??? Deny from all

??? Satisfy All

</FilesMatch>


<IfModule log_config_module>

#定義訪問日志的格式

??? LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

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

??? <IfModule logio_module>

????? LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

??? </IfModule>

#指定訪問日志及使用的格式

??? CustomLog logs/access_log combined

</IfModule>

#設(shè)定默認(rèn)CGI腳本目錄及別名

ScriptAlias /cgi-bin/ "/usr/local/apache-2.2.6/cgi-bin/"


#在以線程式MPM(worker)運(yùn)行的Apache中設(shè)置用來與CGI守護(hù)進(jìn)程通信的套接字文件名前綴

<IfModule cgid_module>

??? Scriptsock logs/cgisock

</IfModule>

#設(shè)定默認(rèn)CGI腳本目錄的屬性

<Directory "/usr/local/apache-2.2.6/cgi-bin">

??? AllowOverride None

??? Options None

??? Order allow,deny

??? Allow from all

</Directory>

#設(shè)定默認(rèn)MIME內(nèi)容類型

DefaultType text/plain

<IfModule mime_module>

##指定MIME類型映射文件

??? TypesConfig conf/mime.types

#增加.Z .tgz的類型映射

??? AddType application/x-compress .Z

??? AddType application/x-gzip .gz .tgz

</IfModule>

#啟用內(nèi)存映射

EnableMMAP on

##使用操作系統(tǒng)內(nèi)核的sendfile支持來將文件發(fā)送到客戶端

EnableSendfile on

#指定多路處理模塊(MPM)配置文件并將其附加到主配置文件

Include conf/extra/httpd-mpm.conf

#指定多語言錯(cuò)誤應(yīng)答配置文件并將其附加到主配置文件

Include conf/extra/httpd-multilang-errordoc.conf

#指定目錄列表配置文件并將其附加到主配置文件

#Include conf/extra/httpd-autoindex.conf

#指定語言配置文件并將其附加到主配置文件

Include conf/extra/httpd-languages.conf

#指定用戶主目錄配置文件并將其附加到主配置文件

#Include conf/extra/httpd-userdir.conf

#指定用于服務(wù)器信息和狀態(tài)顯示的配置文件并將其附加到主配置文件

#Include conf/extra/httpd-info.conf

#指定提供Apache文檔訪問的配置文件并將其附加到配置文件

#Include conf/extra/httpd-manual.conf

#指定DAV配置文件并將其附加到主配置文件

#Include conf/extra/httpd-dav.conf

#指定與Apache服務(wù)自身相關(guān)的配置文件并將其附加到主配置文件

Include conf/extra/httpd-default.conf

#指定mod_deflate壓縮模塊配置文件并將其附加到主配置文件

Include conf/extra/httpd-deflate.conf

#指定mod_expires模塊配置文件并將其附加到主配置文件

Include conf/extra/httpd-expires.conf

##指定虛擬主機(jī)配置文件并將其附加到主配置文件

#Include conf/extra/httpd-vhosts.conf

#指定SSL配置文件并將其附加到主配置文件

Include conf/extra/httpd-ssl.conf

##SSL默認(rèn)配置

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

?

#配置多路處理模塊(MPM) httpd-mpm.conf

首先說一下原理:

prefork模式
這個(gè)多路處理模塊(MPM)實(shí)現(xiàn)了一個(gè)非線程型的、預(yù)派生的web服務(wù)器,它的工作方式類似于Apache 1.3。它適合于沒有線程安全庫,需要避免線程兼容性問題的系統(tǒng)。它是要求將

每個(gè)請(qǐng)求相互獨(dú)立的情況下最好的MPM,這樣若一個(gè)請(qǐng)求出現(xiàn)問題就不會(huì)影響到其他請(qǐng)求。

這個(gè)MPM具有很強(qiáng)的自我調(diào)節(jié)能力,只需要很少的配置指令調(diào)整。最重要的是將MaxClients設(shè)置為一個(gè)足夠大的數(shù)值以處理潛在的請(qǐng)求高峰,同時(shí)又不能太大,以致需要使用的內(nèi)存

超出物理內(nèi)存的大小。

worker模式
此多路處理模塊(MPM)使網(wǎng)絡(luò)服務(wù)器支持混合的多線程多進(jìn)程。由于使用線程來處理請(qǐng)求,所以可以處理海量請(qǐng)求,而系統(tǒng)資源的開銷小于基于進(jìn)程的MPM。但是,它也使用了多進(jìn)

程,每個(gè)進(jìn)程又有多個(gè)線程,以獲得基于進(jìn)程的MPM的穩(wěn)定性。

控制這個(gè)MPM的最重要的指令是,控制每個(gè)子進(jìn)程允許建立的線程數(shù)的ThreadsPerChild指令,和控制允許建立的總線程數(shù)的MaxClients指令


#設(shè)置prefork多路處理模塊

<IfModule mpm_prefork_module>

??? StartServers????????? 5

??? MinSpareServers?????? 5

??? MaxSpareServers????? 10

??? ServerLimit    8000

??? MaxClients???????? 8000

??? MaxRequestsPerChild?? 0

</IfModule>

StartServers:設(shè)置服務(wù)器啟動(dòng)時(shí)建立的子進(jìn)程數(shù)量。因?yàn)樽舆M(jìn)程數(shù)量動(dòng)態(tài)的取決于負(fù)載的輕重,所有一般沒有必要調(diào)整這個(gè)參數(shù)。

MinSpareServers:設(shè)置空閑子進(jìn)程的最小數(shù)量。所謂空閑子進(jìn)程是指沒有正在處理請(qǐng)求的子進(jìn)程。如果當(dāng)前空閑子進(jìn)程數(shù)少于 MinSpareServers ,那么Apache將以最大每秒一個(gè)的

速度產(chǎn)生新的子進(jìn)程。只有在非常繁忙機(jī)器上才需要調(diào)整這個(gè)參數(shù)。將此參數(shù)設(shè)的太大通常是一個(gè)壞主意。

MaxSpareServers:設(shè)置空閑子進(jìn)程的最大數(shù)量。如果當(dāng)前有超過MaxSpareServers數(shù)量的空閑子進(jìn)程,那么父進(jìn)程將殺死多余的子進(jìn)程。只有在非常繁忙機(jī)器上才需要調(diào)整這個(gè)參數(shù)

。將此參數(shù)設(shè)的太大通常是一個(gè)壞主意。如果你將該指令的值設(shè)置為比MinSpareServers 小,Apache將會(huì)自動(dòng)將其修改成"MinSpareServers+1"。

ServerLimit:服務(wù)器允許配置的進(jìn)程數(shù)上限。只有在你需要將MaxClients設(shè)置成高于默認(rèn)值256的時(shí)候才需要使用。要將此指令的值保持和MaxClients一樣。修改此指令的值必須

完全停止服務(wù)后再啟動(dòng)才能生效,以restart方式重啟動(dòng)將不會(huì)生效。

MaxClients:用于伺服客戶端請(qǐng)求的最大請(qǐng)求數(shù)量(最大子進(jìn)程數(shù)),任何超過MaxClients限制的請(qǐng)求都將進(jìn)入等候隊(duì)列。默認(rèn)值是256,如果要提高這個(gè)值必須同時(shí)提高

ServerLimit的值。筆者建議將初始值設(shè)為(以Mb為單位的最大物理內(nèi)存/2),然后根據(jù)負(fù)載情況進(jìn)行動(dòng)態(tài)調(diào)整。比如一臺(tái)4G內(nèi)存的機(jī)器,那么初始值就是4000/2=2000。

MaxRequestsPerChild:設(shè)置每個(gè)子進(jìn)程在其生存期內(nèi)允許伺服的最大請(qǐng)求數(shù)量。到達(dá)MaxRequestsPerChild的限制后,子進(jìn)程將會(huì)結(jié)束。如果MaxRequestsPerChild為"0",子進(jìn)程

將永遠(yuǎn)不會(huì)結(jié)束。將MaxRequestsPerChild設(shè)置成非零值有兩個(gè)好處:可以防止(偶然的)內(nèi)存泄漏無限進(jìn)行而耗盡內(nèi)存;

給進(jìn)程一個(gè)有限壽命,從而有助于當(dāng)服務(wù)器負(fù)載減輕的時(shí)候減少活動(dòng)進(jìn)程的數(shù)量。

如果設(shè)置為非零值,建議設(shè)為10000-30000之間的一個(gè)值。

公式:MaxClients<=ServerLimit


#設(shè)置worker多路處理模塊

<IfModule mpm_worker_module>

??? StartServers????????? 5

??? ServerLimit????????? 20

??? ThreadLimit???????? 200

??? MaxClients???????? 4000

??? MinSpareThreads????? 25

??? MaxSpareThreads?? 250

??? ThreadsPerChild???? 200

??? MaxRequestsPerChild?? 0

</IfModule>

StartServers:設(shè)置服務(wù)器啟動(dòng)時(shí)建立的子進(jìn)程數(shù)量。因?yàn)樽舆M(jìn)程數(shù)量動(dòng)態(tài)的取決于負(fù)載的輕重,所有一般沒有必要調(diào)整這個(gè)參數(shù)。

ServerLimit:服務(wù)器允許配置的進(jìn)程數(shù)上限。只有在你需要將MaxClients和ThreadsPerChild設(shè)置成需要超過默認(rèn)值16個(gè)子進(jìn)程的時(shí)候才需要使用這個(gè)指令。不要將該指令的值設(shè)

置的比MaxClients 和ThreadsPerChild需要的子進(jìn)程數(shù)量高。修改此指令的值必須完全停止服務(wù)后再啟動(dòng)才能生效,以restart方式重啟動(dòng)將不會(huì)生效。

ThreadLimit:設(shè)置每個(gè)子進(jìn)程可配置的線程數(shù)ThreadsPerChild上限,該指令的值應(yīng)當(dāng)和ThreadsPerChild可能達(dá)到的最大值保持一致。修改此指令的值必須完全停止服務(wù)后再啟動(dòng)

才能生效,以restart方式重啟動(dòng)將不會(huì)生效。

MaxClients:用于伺服客戶端請(qǐng)求的最大接入請(qǐng)求數(shù)量(最大線程數(shù))。任何超過MaxClients限制的請(qǐng)求都將進(jìn)入等候隊(duì)列。默認(rèn)值是"400",16 (ServerLimit)乘以25

(ThreadsPerChild)的結(jié)果。因此要增加MaxClients的時(shí)候,你必須同時(shí)增加 ServerLimit的值。筆者建議將初始值設(shè)為(以Mb為單位的最大物理內(nèi)存/2),然后根據(jù)負(fù)載情況進(jìn)行動(dòng)

態(tài)調(diào)整。比如一臺(tái)4G內(nèi)存的機(jī)器,那么初始值就是4000/2=2000。
MinSpareThreads:最小空閑線程數(shù),默認(rèn)值是"75"。這個(gè)MPM將基于整個(gè)服務(wù)器監(jiān)視空閑線程數(shù)。如果服務(wù)器中總的空閑線程數(shù)太少,子進(jìn)程將產(chǎn)生新的空閑線程。

MaxSpareThreads:設(shè)置最大空閑線程數(shù)。默認(rèn)值是"250"。這個(gè)MPM將基于整個(gè)服務(wù)器監(jiān)視空閑線程數(shù)。如果服務(wù)器中總的空閑線程數(shù)太多,子進(jìn)程將殺死多余的空閑線程。

MaxSpareThreads的取值范圍是有限制的。Apache將按照如下限制自動(dòng)修正你設(shè)置的值:worker要求其大于等于 MinSpareThreads加上ThreadsPerChild的和。

ThreadsPerChild:每個(gè)子進(jìn)程建立的線程數(shù)。默認(rèn)值是25。子進(jìn)程在啟動(dòng)時(shí)建立這些線程后就不再建立新的線程了。每個(gè)子進(jìn)程所擁有的所有線程的總數(shù)要足夠大,以便可以處理

可能的請(qǐng)求高峰。

MaxRequestsPerChild:設(shè)置每個(gè)子進(jìn)程在其生存期內(nèi)允許伺服的最大請(qǐng)求數(shù)量。到達(dá)MaxRequestsPerChild的限制后,子進(jìn)程將會(huì)結(jié)束。如果MaxRequestsPerChild為"0",子進(jìn)程

將永遠(yuǎn)不會(huì)結(jié)束。將MaxRequestsPerChild設(shè)置成非零值有兩個(gè)好處:可以防止(偶然的)內(nèi)存泄漏無限進(jìn)行而耗盡內(nèi)存;

給進(jìn)程一個(gè)有限壽命,從而有助于當(dāng)服務(wù)器負(fù)載減輕的時(shí)候減少活動(dòng)進(jìn)程的數(shù)量。

如果設(shè)置為非零值,建議設(shè)為10000-30000之間的一個(gè)值。

公式:

???????? ThreadLimit >= ThreadsPerChild

???????? MaxClients <= ServerLimit * ThreadsPerChild 必須是ThreadsPerChild的倍數(shù)

???????? MaxSpareThreads >= MinSpareThreads+ThreadsPerChild

#配置Apache服務(wù)器默認(rèn)設(shè)置 httpd-default.conf

Timeout 300

KeepAlive Off

MaxKeepAliveRequests 100

KeepAliveTimeout 5

UseCanonicalName Off

AccessFileName .htaccess

ServerTokens Prod

ServerSignature Off

HostnameLookups Off


Timeout:設(shè)置服務(wù)器在斷定請(qǐng)求失敗前等待的秒數(shù)。默認(rèn)值300。

KeepAlive:設(shè)置是否啟用HTTP持久鏈接,On 代表打開,Off 代表關(guān)閉。如果用于同一頁面包含大量靜態(tài)文件的應(yīng)用,設(shè)置為On,以提高性能;如果用于主要為動(dòng)態(tài)頁面的應(yīng)用,

設(shè)置為Off,以節(jié)約內(nèi)存資源;如果服務(wù)器前跑有squid或者其它七層設(shè)備,設(shè)置為On。

MaxKeepAliveRequests:限制當(dāng)啟用KeepAlive時(shí),每個(gè)連接允許的請(qǐng)求數(shù)量。如果將此值設(shè)為"0",將不限制請(qǐng)求的數(shù)目。筆者建議將此值設(shè)為100-500之間的一個(gè)值,以確保最優(yōu)

的服務(wù)器性能。

KeepAliveTimeout:設(shè)置持久鏈接中服務(wù)器在兩次請(qǐng)求之間等待的秒數(shù)。對(duì)于高負(fù)荷服務(wù)器來說,KeepAliveTimeout值較大會(huì)導(dǎo)致一些性能方面的問題:超時(shí)值越大,與空閑客戶

端保持連接的進(jìn)程就越多。

UseCanonicalName:配置服務(wù)器如何確定它自己的域名,可選值為On | Off | DNS。DNS用于為大量基于IP的虛擬主機(jī)支持那些古董級(jí)的不提供"Host:"頭的瀏覽器使用。筆者建議

設(shè)置為Off。

AccessFileName:設(shè)置分布式配置文件的名字,默認(rèn)為.htaccess。如果為某個(gè)目錄啟用了分布式配置文件功能,那么在向客戶端返回其中的文檔時(shí),服務(wù)器將在這個(gè)文檔所在的各

級(jí)目錄中查找此配置文件,因此會(huì)帶來性能問題,筆者建議關(guān)閉分布式配置文件功能。

ServerTokens:控制服務(wù)器回應(yīng)給客戶端的"Server:"應(yīng)答頭是否包含關(guān)于服務(wù)器操作系統(tǒng)類型和編譯進(jìn)的模塊描述信息,同時(shí)還控制著 ServerSignature指令的顯示內(nèi)容。可選值

為Full | OS | Minor | Minimal | Major | Prod。筆者建議設(shè)置為顯示最少信息的Prod。

ServerSignature:配置服務(wù)器生成頁面的頁腳,可選值為On | Off | EMail。采用On會(huì)簡(jiǎn)單的增加一行關(guān)于服務(wù)器版本和正在伺服的虛擬主機(jī)的ServerName,而EMail設(shè)置會(huì)額外

創(chuàng)建一個(gè)指向 ServerAdmin的"mailto:"部分。建議使用默認(rèn)值Off。

HostnameLookups:設(shè)置是否啟用對(duì)客戶端IP的DNS查找,可選值為On | Off | Double。DNS查詢會(huì)造成明顯的時(shí)間消耗,建議設(shè)置為Off。

?

#配置mod_deflate壓縮模塊 httpd-deflate.conf

mod_deflate模塊提供了DEFLATE輸出過濾器,允許服務(wù)器在將輸出內(nèi)容發(fā)送到客戶端以前進(jìn)行壓縮,以節(jié)約帶寬。

編輯mod_deflate壓縮模塊設(shè)置文件:


<IfModule mod_deflate.c>

??? DeflateMemLevel 9

??? DeflateWindowSize 15

??? DeflateBufferSize 8096

??? DeflateCompressionLevel 8

??? ## 調(diào)試時(shí)去掉下面5行前的注釋符,用以記錄壓縮日志

??? #DeflateFilterNote Input instream

??? #DeflateFilterNote Output outstream

??? #DeflateFilterNote Ratio ratio

??? #LogFormat '"%r" %b %{outstream}n/%{instream}n (%{ratio}n%%) "%{User-agent}i"' deflate

??? #CustomLog logs/deflate_log deflate

??? ## 插入DEFLATE過濾器,以啟用輸出壓縮

 SetOutputFilter DEFLATE

 ## Netscape 4.x 有一些問題,僅壓縮txt/html類型

??? BrowserMatch ^Mozilla/4 gzip-only-text/html

 ## Netscape 4.06-4.08不能處理任何壓縮內(nèi)容,不進(jìn)行壓縮

??? BrowserMatch ^Mozilla/4.0[678] no-gzip

??? ## MSIE 會(huì)偽裝成 Netscape ,但是事實(shí)上它沒有問題

??? BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

??? ## 設(shè)置圖片、mp3、壓縮格式文件等不需要進(jìn)行壓縮內(nèi)容

??? SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

??? SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

??? SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

??? ## 確保代理不會(huì)發(fā)送錯(cuò)誤的內(nèi)容

??? Header append Vary User-Agent env=!dont-vary

</IfModule>


DeflateMemLevel:指定zlib在壓縮時(shí)最多可以使用多少內(nèi)存,取值范圍在1到9之間。

DeflateWindowSize:定義zlib壓縮窗口(compression window)的大小,取值范圍在1到15之間,通常窗口越大壓縮效果越好。

DeflateBufferSize:定義zlib一次壓縮的片斷的字節(jié)數(shù),默認(rèn)為8096。

DeflateCompressionLevel:設(shè)定壓縮程度,越高的壓縮程度就會(huì)有越好的壓縮效果,同時(shí)也意味著占用越多的CPU資源。取值范圍在 1(最低壓縮率) 到 9(最高壓縮率)之間,如果

不設(shè)置此指令,默認(rèn)為zlib的默認(rèn)值。

DeflateFilterNote:在日志中放置壓縮率標(biāo)記。

語法為:DeflateFilterNote type notename

notename就表示這個(gè)壓縮率標(biāo)記的名字,你可以為了某種統(tǒng)計(jì)目的將這個(gè)標(biāo)記的名字添加到訪問日志中。

type指定notename標(biāo)記所記錄的數(shù)據(jù)類型:Input,在標(biāo)記中存儲(chǔ)過濾器輸入流的字節(jié)數(shù);Output,在標(biāo)記中存儲(chǔ)過濾器輸出流的字節(jié)數(shù);Ratio,在標(biāo)記中存儲(chǔ)過濾器的壓縮比(輸

出/輸入*100),這是type的默認(rèn)值。

SetOutputFilter:設(shè)置用于在服務(wù)器應(yīng)答發(fā)送到客戶端之前使用的過濾器。如果多于一個(gè)過濾器,必須按照處理內(nèi)容的順序用分號(hào)(;)分隔。

BrowserMatch:基于User-Agent頭有條件地設(shè)置環(huán)境變量。

SetEnvIfNoCase:根據(jù)大小寫無關(guān)的客戶端請(qǐng)求屬性設(shè)置環(huán)境變量。

Headers:配置HTTP應(yīng)答頭。這個(gè)指令可以替換、合并、刪除HTTP應(yīng)答頭。應(yīng)答頭緊跟在內(nèi)容處理器和輸出過濾器完工之后生成,這時(shí)候才能對(duì)頭進(jìn)行修改。


#配置mod_expires模塊

這個(gè)模塊控制服務(wù)器應(yīng)答時(shí)的Expires頭內(nèi)容和Cache-Control頭的max-age指令。有效期(expiration date)可以設(shè)置為相對(duì)于源文件的最后修改時(shí)刻或者客戶端的訪問時(shí)刻。這些

HTTP頭向客戶端表明了文檔的有效性和持久性。如果有緩存,文檔就可以從緩存(除已經(jīng)過期)而不是從服務(wù)器讀取。接著,客戶端考察緩存中的副本,看看是否過期或者失效,以

決定是否必須從服務(wù)器獲得更新。

編輯mod_expires設(shè)置文件:httpd-expires.conf


## mod_expires設(shè)置文件

<IfModule mod_expires.c>

??????? ExpiresActive on

 ??? ExpiresDefault A300

??????? ExpiresByType text/html A300

??????? ExpiresByType image/gif A2592000

??????? ExpiresByType image/jpeg A2592000

??????? ExpiresByType image/png A2592000

??????? ExpiresByType text/css A2592000

??????? ExpiresByType text/js A2592000

??????? ExpiresByType text/javascript A2592000

??????? ExpiresByType application/x-javascript A2592000

</IfModule>


ExpiresActive:對(duì)其作用范圍內(nèi)的文檔啟用或禁用產(chǎn)生Expires和Cache-Control頭的功能。若設(shè)置為 Off 則不會(huì)為其作用范圍內(nèi)的任何文檔生成Expires和Cache-Control頭(除非

被更低一層的規(guī)則改寫,比如.htaccess文件)。若設(shè)置為 On 則會(huì)按照ExpiresByType和ExpiresDefault指令定義的標(biāo)準(zhǔn)為其作用范圍內(nèi)的文檔生成Expires和Cache-Control 頭。

注意,這個(gè)指令并不保證Expires或Cache-Control頭一定會(huì)產(chǎn)生。如果定義的標(biāo)準(zhǔn)不規(guī)范,將不會(huì)產(chǎn)生這兩個(gè)頭,其效果是好像從未設(shè)置過這個(gè)指令一樣。

ExpiresByType:為指定MIME類型的文檔配置Expires頭的值。

語法為:ExpiresByType MIME-type <code>seconds

seconds參數(shù)設(shè)置了添加到基準(zhǔn)時(shí)間以構(gòu)造有效期限的秒數(shù)。Cache-Control: max-age的計(jì)算方法是從有效期減去當(dāng)前請(qǐng)求時(shí)間并轉(zhuǎn)化為秒數(shù)。

基準(zhǔn)時(shí)刻可以是源文件的最后修改時(shí)刻或者客戶端對(duì)源文件的訪問時(shí)刻,至于使用那一個(gè)則由<code>指定。"M"表示源文件的最后修改時(shí)刻,"A"表示客戶端對(duì)源文件的訪問時(shí)刻。

需要注意的是<code>和seconds之間沒有空格。如果使用"M",所有當(dāng)前緩存中的文檔副本都將在同一時(shí)刻過期,這個(gè)可能對(duì)定期更新的URL(比如位于同一位置的每周通告)很有好處

。如果使用"A",則每個(gè)客戶端所得到的有效期是不一樣的,這個(gè)可能對(duì)那些幾乎不更新的圖片文件很有好處,特別是對(duì)于一組都引用了相同圖片的相關(guān)文檔。

ExpiresDefault:設(shè)置其作用范圍內(nèi)的所有文檔的默認(rèn)有效期的計(jì)算方法,它可以被ExpiresByType指令基于MIME類型被改寫。
語法為:ExpiresDefault <code>seconds

<code>seconds同ExpiresByType一致。

#最后配置一下虛擬主機(jī)? httpd-vhost.conf

#這里重點(diǎn)介紹一下基于多端口的配置

NameVirtualHost *:81
NameVirtualHost *:82
NameVirtualHost *:83


<VirtualHost *:81>
ServerAdmin
jafy@jafy00.com
DocumentRoot /www1
ServerName
www.jafy00.com
ErrorLog logs/www1-error.log
CustomLog logs/www1-access_log common
</VirtualHost>

?


<VirtualHost *:82>
<Directory "/www2" >
Options FollowSymLinks
#Deny from all
Allow from all
</Directory>
ServerAdmin
jafy@jafy00.com
DocumentRoot /www2
ServerName
www.jafy00.com
DirectoryIndex index.php index.html
ErrorLog logs/www2-error.log
CustomLog logs/www2-access_log combined
</VirtualHost>

總結(jié)

以上是生活随笔為你收集整理的Apache2 httpd.conf 配置详解 (二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。