Apache HTTP Server 详细介绍
一、概述
Apache(全称 Apache HTTP Server)是一个开源的、跨平台的 Web 服务器软件,由 Apache 软件基金会开发和维护。自 1995 年发布以来,长期占据全球 Web 服务器市场份额第一(目前与 Nginx 竞争激烈)。
二、核心特性
- 模块化设计
- 通过加载模块扩展功能(如 SSL、压缩、身份验证等)。
- 支持动态模块加载(DSO)。
- 跨平台性
- 可在 Windows、Linux、Unix、macOS 等系统运行。
- 配置灵活
- 基于文本的配置文件(如
httpd.conf)。 - 支持目录级配置(
.htaccess文件)。
- 基于文本的配置文件(如
- 功能丰富
- 虚拟主机、URL 重写、负载均衡、代理服务等。
- 支持多种编程语言(PHP、Python、Perl 等)。
- 安全性
- 提供访问控制、身份验证、SSL/TLS 加密。
- 定期发布安全更新。
三、架构与工作原理
- MPM(多处理模块)机制
根据不同操作系统选择并发处理模型:- Prefork MPM:多进程模型,每个请求由独立子进程处理,稳定性高。
- Worker MPM:多进程 + 多线程混合模型,资源占用较少。
- Event MPM(推荐):基于事件驱动,高并发性能优异。
- 请求处理流程 客户端请求 → 监听端口 → MPM 分配资源 → 模块链处理 → 返回响应
四、配置文件结构
主配置文件通常为 httpd.conf,包含:
# 全局配置
ServerRoot "/etc/httpd"
Listen 80
LoadModule php_module modules/mod_php.so
# 虚拟主机配置
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
五、核心功能模块
| 模块名称 | 功能说明 |
|---|---|
mod_rewrite | URL 重写与重定向 |
mod_ssl | HTTPS 加密支持 |
mod_proxy | 反向代理与负载均衡 |
mod_cache | 内容缓存 |
mod_security | Web 应用防火墙(需额外安装) |

