商店
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 支持突出,但高并发性能稍逊。