作者
Mesh Flinders
Staff Writer
IBM Think
Ian Smalley
Staff Editor
IBM Think
什么是 Apache 服务器?
Apache HTTP Server(通常称为 Apache 或简称 Apache 服务器)是一款免费的开源 Web 服务器,为众多网站和 Web 应用程序提供支持。
Apache 可控制 Web 服务器和浏览器之间的交互,以便用户通过互联网查找网页、HTML 页面、图像、文本、视频和其他类型的内容。Apache 于 1995 年首次发布,在互联网早期发展阶段发挥关键作用,还支持全球用户自行构建和托管网站。
Apache 软件基金会 (ASF) 管理着 Apache。这个非营利组织定期更新软件以解决各种问题,包括安全性、与新技术的兼容性、故障排除等。Apache 能够快速提供静态和动态内容,并支持复杂的用户交互,这使其成为网络托管市场的领导者。
当下,Apache 是最受欢迎的 Web 服务器之一。许多公司使用 Apache 来支持其核心业务流程并确保其网站和 Web 应用程序蓬勃发展。根据 W3Techs 最近的一份报告,全球超过四分之一的网站 (26%) 依赖 Apache 满足其托管需求。1
行业时事通讯
辅以专家洞察分析的最新科技新闻
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明 。
谢谢!您已订阅。
您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此管理您的订阅或取消订阅。更多相关信息,请参阅我们的《IBM 隐私声明》。
什么是 Web 服务器?
Web 服务器是通过互联网向用户提供 Web 内容的系统。它们通常由硬件和软件组成,可处理用户对图像、文本、视频等各种内容的请求。Web 服务器与支持业务应用程序的应用程序服务器协同运作,已成为众多现代企业核心业务功能的重要组成部分。
网络服务器就像客户与万维网之间的桥梁。它们允许通过一系列协议(如超文本传输协议 (HTTP) 和超文本传输协议 2 (HTTP/2))传输数据。Web 服务器等待客户端请求(例如,在 Web 浏览器的地址栏中输入 Web 地址),并以内容进行响应。
在 Apache 环境中,在后台运行并辅助这些请求的程序称为“守护进程”,称为 HTTPd(超文本传输协议守护进程)。
大多数现代 Web 服务器均为生成动态内容而设计,例如个性化推荐、广告甚至用户可自定义的仪表板。为完成这一任务,其设计需兼容多种编程语言(包括 PHP、Perl、Python 等)。
Apache 服务器如何工作?
Apache Web 服务器旨在促进 Web 浏览器(通常称为“客户端”)与保存网站文件的服务器之间的通信。其基本目的是通过 Web 浏览器提供网页、HTML、CSS 等来处理内容请求。从本质上讲,支持 Apache 的软件将充当中间人,不断侦听用户请求并响应内容。
内容请求和生成
Apache 处理客户端请求和生成内容的方式,在多个关键领域与其他 Web 服务器形成显著差异。
客户请求处理
其他类型的 Web 服务器(如 NGINX)使用事件驱动的方法来并发处理客户端请求,而 Apache 为每个请求创建一个新进程。Apache 侦听传入的请求,并将其传递到多处理模块 (MPM) 和请求处理程序 Apache 模块,在那里确定后续步骤。
内容生成
Apache 的内容生成器模块可以创建静态文件和动态内容来满足用户请求。除了内容之外,生成器模块还可以发回相关的 HTTP 标头,其中包含有关请求的来源和上下文的重要信息。
架构和 LAMP 堆栈
Apache 服务器功能的另一核心优势在于设计。Apache 既是现代 Web 应用程序堆栈(又称“技术堆栈”)的关键组成部分,又是运行现代 Web 应用程序的硬件和软件工具合集。Apache 是 LAMP(Linux、Apache、MySQL、PHP) 的核心组件,同时也是市面上功能最强大、应用最广泛的技术堆栈之一。
以下是 LAMP 的每个组件的详细介绍:
Linux:Linux 是世界上最流行的开源操作系统 (OS),负责管理所有 LAMP 用例中的资源和应用程序。
Apache:在 LAMP 技术堆栈中,Apache 可监听和处理传入的 HTTP 请求,并依靠 Linux 控制硬件和软件资源。
MySQL:MySQL 是最流行、最有效的开源关系数据库管理系统 (RDBMS) 之一,用于管理结构化格式的数据。在 LAMP 技术栈中,Apache 依靠 MySQL 来帮助支持其动态内容和应用程序。
PHP:PHP 是服务器端的一种脚本语言,在 LAMP 用例中与 Apache 集成,并有助于生成动态 Web 内容。
AI 学院
利用混合云实现 AI 就绪
本课程由 IBM 资深思想领袖带领,旨在帮助企业领导者获得所需的知识,以便划分可以推动增长的 AI 投资的优先级。
转到视频集
Apache 服务器的优势
Apache 的主要功能是通过内容响应客户端请求,这是所有网站和 Web 应用程序的核心功能。它具有广泛的特性和能力,可以实现此功能。
开放式源代码
与 Microsoft、Google 和 Oracle 等公司发布的专有 Web 服务器不同,Apache 是一种开源软件。换句话说,它是免费的,并得到庞大专家社区的支持。Apache 的商业用途也是免费的,并且开发人员不断修改其代码以适应独特的业务目的。
当人工智能 (AI) 和生成式 AI (gen AI) 等新兴技术改变企业创建和存储内容的方式时,开源社区迅速做出回应,以维持 Apache 的兼容性。
平台兼容性
Apache 兼容多种平台,包括 Linux、Unix、Windows 和 MacOS。其模块化架构采用优先考虑灵活性和可定制性的方法,以便轻松快捷地添加新功能和特性。
例如,深受大型企业青睐的 IBM 的 AIX 系统,通常会在充满挑战的环境中部署 Apache。Apache 的开源方法确保它可以轻松集成到 AIX 中,并随着新技术和用例的出现而不断迭代。
虚拟主机
Apache 是虚拟主机实践的理想选择,虚拟主机是在单个服务器上运行多个网站,而不是为每个实例运行专用服务器。Apache 的虚拟主机经济高效且高度可扩展,支持企业管理多个域而无需额外成本,并可根据需要快速启动虚拟实例。
Apache 提供两种方法,具体取决于组织的计算环境和特定需求。
基于 IP 的虚拟主机:每个托管站点都拥有唯一 IP 地址。
基于名称的虚拟主机:多个网站共享相同的 IP 地址,仅通过主机名来区分。
安全性
组织可以通过调整其加密和身份验证设置及其使用防火墙的方式来配置 Apache,即“Apache 配置方案”。
加密:Apache 服务器支持 SSL/TLS(安全套接字层/传输层安全)加密协议,这是一组管理计算机通过互联网进行通信的加密协议。Apache 允许用户使用称为 mod_ssl 的模块在每个实例中自定义加密级别。
身份验证:Apache 支持一系列强大的身份验证和授权工具,允许用户监控和限制资源。示例包括高级密码保护、IP 地址许可名单、LDAP(轻量级目录访问协议)等。
防火墙:根据特定计算环境的需求,可以将 Apache 配置为使用不同类型的防火墙。例如,ModSecurity 是一个开源 Web 应用程序防火墙 (WAF),有助于保护敏感的 Web 应用程序免受针对应用程序层的网络攻击。
流量分配
Apache 服务器具备负载均衡功能,可在热门网站和应用程序出现高流量情况时优化资源。它可以将客户请求分配到不同的服务器上,从而避免单个服务器接收过多请求而降低功能和性能。
Apache 服务器还可以有效地缓存、存储和重复使用经常请求的页面,以减少服务器的工作量并有效地管理带宽。Apache 还可以充当反向代理,即服务器充当其他服务器和客户端请求之间的中介,帮助优化性能和资源分配。
Apache 服务器与其他 Web 服务器的比较
Apache 与其他类型的 Web 服务器软件相比具有显著优势,主要原因在于其模块化设计、开源特性以及对其他平台和技术的兼容性。尽管它已不再像 20 世纪 90 年代末和 21 世纪初那样占据主导地位,但它仍是满足各种网页和 Web 应用程序托管需求的优选方案。以下是它如何与两大竞品(NGINX 和 Microsoft IIS)的对比情况。
Apache 与 NGINX
NGINX(发音为 engine-x)最近超越 Apache,成为世界上最受欢迎的 Web 服务器。根据 2025 年的报告,其占据了 33% 的市场份额。2
Apache 和 NGINX 之间最大的区别在于其架构:Apache 服务器采用进程驱动式架构,针对每个客户端请求创建称为“线程”的新进程。NGINX 则采用事件驱动式架构,可在同一线程中并行处理多个请求。
就提供静态内容而言,由于 NGINX 具备更高效的缓存能力,因此其运行速度也略高于 Apache。在提供动态内容方面,NGINX 利用外部处理器,例如适用于 PHP 的 PHP-FPM;Apache 则在服务器端针对动态内容进行内部处理。
Apache 与 Microsoft IIS(互联网信息服务)
Microsoft IIS 是另一种热门 Web 服务器,它与 Apache 一样,专为托管网站和 Web 应用程序而设计,且可根据用户请求提供内容。不同于 Apache,Microsoft IIS 是专有解决方案,专为兼容其他 Microsoft 软件解决方案和支持而构建。Microsoft IIS 的优势之一在于其能够简化 .NET 和 ASP.NET 框架的开发及部署,此类框架广泛应用于构建 Web 应用程序的环境。
对于在 Windows 服务器上运行网站和应用程序的企业来说,Microsoft IIS 是一个强大的解决方案,它可以与 Active Directory 和 Exchange Server 等其他 Microsoft 工具进行直接而强大的整合。它还以其易于设置和管理以及简单明了的图形用户界面 (GUI) 而闻名。
Apache 服务器的企业用例
由于其丰富的功能、开源特质、安全特性以及对新技术的兼容性,Apache 拥有众多企业用例。以下是部分最常见的用例。
网站和 Web 应用程序:Apache 可兼容全球应用范围最广泛的脚本语言(如 Python 和 PHP),因此成为了托管网站和 Web 应用程序的理想选择。WordPress 和 Drupal 等众多内容管理系统 (CMS) 均由 Apache 提供支持,Salesforce 等 CRM 应用程序也是如此。此外,许多主流媒体和新闻网站(例如《卫报》和 Spotify)也依赖这项技术。
企业应用程序:Apache 被认为是托管复杂、要求苛刻的企业应用程序,以及旨在促进大型组织核心运营和业务流程的软件系统的绝佳选择。它支持许多世界上最成功的公司使用的顶级金融服务应用程序、数据分析平台和电子商务网站。例如,Walmart 依靠 Apache 来辅助 walmart.com 上每天的数千笔交易并提供无缝的用户体验。
内容:Apache 帮助全球大型组织向其庞大的用户群体提供内容服务,包括静态网页、图像和视频。Apache 可优化性能并在几秒钟内响应客户端请求,同时管理 Web 资源,确保站点和应用程序加载速度快如闪电。
内联网和内部网站:许多组织依靠 Apache 来托管其内联网和内部网站,私有安全网络则可支持组织内部员工以安全、机密地方式共享数据和资源。Apache 可以轻松配置为仅提供特定网络内的内容,从而实现严格的访问控制并提供各种自定义安全选项。
DevOps:Apache 在现代 DevOps 开发运维环境中发挥着重要作用,是许多关键功能的基础。Apache 服务器通常充当开发人员所依赖的复杂、要求苛刻的 Web 应用程序的反向代理、负载均衡器和后端服务器。