本文檔描述了 Apache HTTP Server 2.0 和 2.2 版本之間的一些主要變化。有關(guān) 1.3 版以來(lái)的新功能,請(qǐng)參閱2.0 新功能 文檔。
mod_cache
, mod_cache_disk
, 和 mod_mem_cache(已經(jīng)從 2.3/2.4 中刪除)已經(jīng)發(fā)生了很多變化,現(xiàn)在被認(rèn)為是生產(chǎn)質(zhì)量的。htcacheclean
已被引入清理mod_cache_disk
設(shè)置。prefork
,worker
并且 event
最可能模式現(xiàn)在允許httpd
通過(guò)將安全關(guān)機(jī) graceful-stop
信號(hào)。GracefulShutdownTimeout
添加了該指令以指定可選的超時(shí),之后httpd
無(wú)論正在服務(wù)的任何請(qǐng)求的狀態(tài)如何, 都將終止。mod_proxy_balancer
模塊為mod_proxy
. 新mod_proxy_ajp
模塊添加了對(duì)Apache TomcatApache JServ Protocol version 1.3
使用的 支持 。httpd
可以通過(guò)傳遞--with-pcre
標(biāo)志來(lái)配置使用 PCRE 的系統(tǒng)安裝 。mod_filter
向輸出過(guò)濾器鏈引入動(dòng)態(tài)配置。它允許根據(jù)任何請(qǐng)求或響應(yīng)標(biāo)頭或環(huán)境變量有條件地插入過(guò)濾器,并免除 2.0 架構(gòu)中存在更多問(wèn)題的依賴(lài)項(xiàng)和排序問(wèn)題。httpd
現(xiàn)在在現(xiàn)代 32 位 Unix 系統(tǒng)上支持大于 2GB 的文件。還添加了對(duì)處理 >2GB 請(qǐng)求正文的支持。event
MPM使用單獨(dú)的線程來(lái)處理保持活動(dòng)的請(qǐng)求和接受連接。Keep Alive 請(qǐng)求傳統(tǒng)上需要 httpd 指定一個(gè)工作人員來(lái)處理它。在達(dá)到 Keep Alive 超時(shí)之前,無(wú)法再次使用此專(zhuān)用工作器。mod_dbd
與apr_dbd
框架一起為需要它的模塊帶來(lái)直接的 SQL 支持。支持線程 MPM 中的連接池。mod_auth
現(xiàn)在被拆分為 mod_auth_basic
和 mod_authn_file
;mod_auth_dbm
現(xiàn)在被稱(chēng)為mod_authn_dbm
; mod_access
已更名mod_authz_host
。還有一個(gè)新的 mod_authn_alias(已從 2.3/2.4 中刪除)模塊,用于簡(jiǎn)化某些身份驗(yàn)證配置。mod_authnz_ldap
mod_auth_ldap
模塊到 2.2Authn/Authz
框架的端口 。新功能包括在Require
指令中使用 LDAP 屬性值和復(fù)雜的搜索過(guò)濾器 。mod_authz_owner
mod_version
mod_info
?config
參數(shù),它將顯示 Apache 解析的配置指令,包括它們的文件名和行號(hào)。該模塊還顯示了所有請(qǐng)求掛鉤的順序和其他構(gòu)建信息,類(lèi)似于httpd -V
.mod_ssl
mod_imagemap
mod_imap
已重命名為 mod_imagemap
以避免用戶混淆。httpd
-M
,用于列出基于當(dāng)前配置加載的所有模塊。與-l
選項(xiàng)不同,此列表包括通過(guò)mod_so
.httxt2dbm
RewriteMap
與dbm
地圖類(lèi)型。APR
和 中 刪除APR-Util
。有關(guān)詳細(xì)信息,請(qǐng)參閱 APR 網(wǎng)站。mod_auth_*
-> 實(shí)現(xiàn) HTTP 身份驗(yàn)證機(jī)制的模塊mod_authn_*
-> 提供后端身份驗(yàn)證提供程序的模塊mod_authz_*
-> 實(shí)現(xiàn)授權(quán)(或訪問(wèn))的模塊mod_authnz_*
-> 實(shí)現(xiàn)身份驗(yàn)證和授權(quán)的模塊ap_log_cerror
來(lái)記錄客戶端連接發(fā)生的錯(cuò)誤。記錄時(shí),該消息包括客戶端 IP 地址。test_config
以幫助模塊只在用戶傳遞 -t
到httpd
.ThreadStackSize
來(lái)設(shè)置所有線程 MPM 上的堆棧大小。對(duì)于具有較小默認(rèn)線程堆棧大小的平臺(tái)上的某些第三方模塊,這是必需的。mod_filter
使用 ap_register_output_filter_protocol
或 ap_filter_protocol
調(diào)用將公共協(xié)議管理委托 給 。pcreposix.h
報(bào)頭不再可用; 它被新的ap_regex.h
標(biāo)題取代。該P(yáng)OSIX.2regex.h
由舊的頭露出實(shí)施是現(xiàn)在下提供ap_
從命名空間ap_regex.h
。調(diào)用regcomp
, regexec
等可以替換為調(diào)用 ap_regcomp
, ap_regexec
。對(duì)于 Apache 1.x 和 2.0,需要 SQL 后端的模塊必須自己負(fù)責(zé)管理它。除了重新發(fā)明輪子之外,這可能非常低效,例如當(dāng)多個(gè)模塊各自維護(hù)自己的連接時(shí)。
Apache 2.1 及更高版本提供ap_dbd
用于管理數(shù)據(jù)庫(kù)連接的API(包括針對(duì)線程和非線程 MPM 的優(yōu)化策略),而 APR 1.2 及更高版本提供apr_dbd
用于與數(shù)據(jù)庫(kù)交互的API。
新模塊現(xiàn)在應(yīng)該將這些 API 用于所有 SQL 數(shù)據(jù)庫(kù)操作。現(xiàn)有的應(yīng)用程序應(yīng)該升級(jí)以在可行的情況下使用它,無(wú)論是透明的還是作為向用戶推薦的選項(xiàng)。
更多建議: