Apache HTTP Server 版本2.2
這篇文檔簡述了Apache HTTP Server 2.0和2.2 版本之間的主要差異。對于1.3版本以后的新特性,請參考Apache 2.0 新特性文檔。
mod_authn_alias
模塊可以極大的簡化某些身份認(rèn)證的配置。請參見模塊名的變更和針對模塊開發(fā)者的變更以了解更多有關(guān)這些變更對于模塊使用者和模塊開發(fā)者的影響。mod_cache
、mod_disk_cache
、mod_mem_cache
經(jīng)歷了諸多修改以后現(xiàn)在已經(jīng)具備了合格的產(chǎn)品質(zhì)量了。新增加的htcacheclean
工具可以用來清理mod_disk_cache
模塊使用的緩沖存儲區(qū)。prefork
、worker
、event
多路處理模塊(MPM)現(xiàn)在允許httpd
通過graceful-stop
信號被優(yōu)雅的停止?梢杂眯略龅GracefulShutdownTimeout
指令指定一個超時時間,超過指定的時間以后httpd
將會強行中止,而無論請求所處的服務(wù)狀態(tài)如何。mod_proxy_balancer
模塊為mod_proxy
提供了負(fù)載均衡服務(wù)。新增的mod_proxy_ajp
模塊為Apache Tomcat使用的Apache JServ Protocol version 1.3
提供了支持。httpd
現(xiàn)在可以通過 --with-pcre
編譯選項使用系統(tǒng)中已經(jīng)安裝好的PCRE。mod_filter
可以進(jìn)行輸出過濾器鏈的動態(tài)配置。它允許過濾器按照請求頭或應(yīng)答頭或環(huán)境變量有條件的插入,這樣就避免了許多在Apache2.0體系結(jié)構(gòu)中存在的過濾器之間的依賴性和順序問題。event
多路處理模塊(MPM)使用一個單獨隔開的線程處理持久連接(Keep Alive)。傳統(tǒng)上,持久連接要求httpd專門拿出一個工作者(worker)(也就是一個進(jìn)程/線程)來處理它。這個專用的工作者在持久連接超時前不能被重新使用。mod_dbd
和apr_dbd框架(framework)一起為需要使用數(shù)據(jù)庫的模塊提供直接的支持。在線程化的MPM中還能支持連接緩沖池。
Windows用戶請注意,這個特性尚未包含在標(biāo)準(zhǔn)的windows版Apache中。如果你嘗試在Windows平臺上使用這個特性,請告訴我們你的進(jìn)展情況。
mod_auth_basic
和mod_authn_file
兩個模塊;mod_auth_dbm現(xiàn)在更名為mod_authn_dbm
;mod_access現(xiàn)在更名為mod_authz_host
;還新增了一個mod_authn_alias
模塊用于簡化某些認(rèn)證配置。mod_authnz_ldap
mod_auth_ldap
模塊到2.2版的Authn/Authz
框架的一個移植。新的特性包括使用LDAP屬性值和Require
指令中復(fù)雜的搜索過濾器。mod_info
?config
參數(shù),可以用來顯示被Apache分析過的配置指令,包括它們的文件名和行號。該模塊還顯示所有請求鉤子(request hook)的順序和額外的編譯信息,有些類似于 httpd -V
mod_ssl
mod_imagemap
mod_imagemap
,以避免用戶產(chǎn)生混淆和疑惑。httpd
-M
用來列出基于當(dāng)前配置加載的所有模塊。不同于 -l
選項的是,它還列出了通過mod_so
加載的DSO(動態(tài)共享對象)。httxt2dbm
RewriteMap
中使用dbm
映射表(map)類型。APR
和 APR-Util
中清除掉了。欲知詳情,請查看APR 網(wǎng)站。ap_log_cerror
函數(shù)用于記錄客戶端連接時發(fā)生的錯誤。并且在記錄時包含客戶端IP地址。test_config
鉤子,可以在用戶向httpd
傳遞 -t
選項時,執(zhí)行包含特定代碼的模塊。ThreadStackSize
指令可以用來限制所有線程型MPM所使用的棧大小。一些默認(rèn)?臻g較小的平臺上的第三方模塊需要使用它指定?臻g的大小。ap_register_output_filter_protocol
或ap_filter_protocol
來委托mod_filter
進(jìn)行協(xié)議管理。pcreposix.h
頭文件現(xiàn)在被ap_regex.h
頭文件取代了。原來老的POSIX.2 regex.h
實現(xiàn)現(xiàn)在位于ap_
名字空間下(由ap_regex.h
提供)。比如原來的regcomp
, regexec
調(diào)用現(xiàn)在要修改成ap_regcomp
, ap_regcomp
調(diào)用。在1.x和2.0版本中,需要SQL支持的模塊必須自己管理數(shù)據(jù)庫。為了不要重新發(fā)明輪子,Apache 2.1 及以后的版本提供了ap_dbd
API 來管理數(shù)據(jù)庫連接(包括對線程型和非線程型MPM進(jìn)行優(yōu)化),同時 APR 1.2 及以后版本也提供了apr_dbd
API 與數(shù)據(jù)庫打交道。
新模塊應(yīng)當(dāng)使用了這些API來進(jìn)行數(shù)據(jù)庫操作,F(xiàn)存的應(yīng)用程序應(yīng)當(dāng)進(jìn)行透明的升級或使用推薦選項來使用這些API。