商店
Apache HTTP Server
0
1995年4月1日
概述
Apache HTTP Server(簡稱 Apache)是一個免費、開放原始碼的 Web 伺服器軟體,由 Apache 軟體基金會維護,是全球使用最廣泛的 Web 伺服器之一,市佔率超過 30%。它最初由 Robert McCool 開發,於 1995 年首次發布,支援 Unix-like 系統(如 Linux、FreeBSD)、Windows 和 macOS,適用於 x86_64 和 arm64 架構。 Apache 以模組化架構著稱,支援動態載入模組(如 mod_php、mod_ssl),提供 Web 託管、反向代理、負載平衡和內容快取等功能。它使用 httpd.conf 和 .htaccess 配置,支援 HTTP/1.1、HTTP/2 和 HTTP/3(實驗性),適合靜態/動態網站、API 服務和企業應用程式。
歷史與發展
- 起源:
- 1995年:Apache 基於 NCSA httpd 1.3 開發,由 Robert McCool 和 Apache 集團創建,目標是修復 NCSA httpd 的 bug,並提供開源替代品。
- 發展歷程:
- 1995年4月:發布 Apache 0.6.2,第一個公開發布版。
- 1996年:Apache 1.0 發布,成為最受歡迎的 Web 伺服器。
- 1999年:成立 Apache 軟體基金會(ASF),管理 Apache 專案。
- 2004年:Apache 2.0 發布,引入多處理模組(MPM)和 IPv6 支援。
- 2013年:Apache 2.4 發布,支援 HTTP/2 和事件 MPM。
- 2025年7月:Apache 2.4.62 發布,修復 CVE 漏洞,優化效能和模組相容性。
- 社區與支持:
- 由 Apache 軟體基金會(ASF)維護,託管於 httpd.apache.org、GitHub 和論壇(community.apache.org)。
- 支援英語和多語言(中文透過社區翻譯),文件全面(httpd.apache.org/docs)。
- Reddit 用戶稱「Apache 是可靠的 Web 伺服器基礎」。
- 開源許可:
- Apache License 2.0,允許商業使用和修改。
主要特點
Apache 以模組化、高效能和多功能為核心,適用於 Web 伺服器和代理場景。以下是其主要特點:
- 多處理模組 (MPM)
- 支援 prefork(進程模式)、worker(線程模式)和 event(事件驅動),根據負載選擇。
- 模組化架構
- 支援動態載入模組,如 mod_php、mod_ssl、mod_rewrite。
- 虛擬主機
- 支援基於名稱、IP 或連接埠的虛擬主機。
- SSL/TLS 支持
- 支援 HTTPS 和 HTTP/2,透過 mod_ssl。
- 負載平衡和代理
- 支援反向代理(mod_proxy)和負載平衡(mod_proxy_balancer)。
- .htaccess 支持
- 支援 .htaccess 檔案進行目錄級配置(如重寫、認證)。
- 性能與硬體支持
- 支援 x86_64 和 arm64,佔用 50-200 MB RAM。
- 安全與隱私
- 支援 SSL/TLS、存取控制和認證模組。
優勢與限制
優勢
- 模組化:
- 靈活擴展,適合自訂配置。
- X 貼文稱「Apache 的模組系統讓擴充無限可能」。
- 穩定可靠:
- 廣泛用於生產環境,社區資源豐富。
- .htaccess 支援:
- 目錄級配置便利,優於 Nginx 的無 .htaccess。
- 開源免費:
- Apache License 2.0,支援商業使用。
- 社區支持:
- ASF 和活躍社區,提供文件和模組。
限制
- 性能在高並發下:
- 行程/執行緒模型不如 Nginx的事件驅動。
- 配置複雜:
- 學習曲線陡峭,不如 Caddy 的簡單配置。
- 解決:使用 Apache 設定生成器。
- 對比伺服器:
- Nginx:高效能,事件驅動。
- Lighttpd:輕量,適合嵌入式。
- Caddy:自動 HTTPS。
總結
Apache HTTP Server 是免費、開源的高效能 Web 伺服器,支援 HTTP/2、HTTP/3 和 WASM。它以模組化、多處理模組和虛擬主機為核心,Apache 的模組化和 .htaccess 支援突出,但高並發效能稍遜。