返回主页 学习路径
Apache
功能丰富 · 模块化架构 · 全球最老牌
Apache HTTP Server 是由 Apache 软件基金会维护的开源 Web 服务器,自 1995 年以来一直是 Web 服务器的标杆。Apache 以其高度模块化、灵活配置、稳定可靠著称,通过 .htaccess 支持目录级配置。虽然在高并发场景下被 Nginx 超越,但 Apache 仍然是全球第二大 Web 服务器,在共享主机、传统托管和需要高度定制配置的场景中广泛应用。
Web 服务器鼻祖 · 模块化之王
📅 诞生时间1995年 · Apache 软件基金会
🧩 架构多进程/多线程 · 模块化
📊 配置语言配置文件(类 XML)
⚡性能
7/10
📦生态
10/10
🧠易用
9/10
🚀扩展性
6/10

📑 本文目录

📌 第一部分:Apache HTTP Server 概览与定位

1.1 定义与全称

Apache HTTP Server(简称 Apache)是由 Apache 软件基金会开发和维护的开源 Web 服务器软件,自 1995 年发布以来一直是 Web 服务器的标杆。Apache 的名字来源于 "a patchy server"(补丁服务器),反映了其早期的开发方式。

1.2 核心定位

Apache 的核心定位是 功能丰富、高度可定制的 Web 服务器。它提供了:

1.3 主要应用领域

1.4 知名案例


📜 第二部分:Apache HTTP Server 的历史与发展演进

2.1 诞生背景(1995年)

Apache 的前身是 NCSA HTTPd 服务器。1995 年,一群开发者开始给 NCSA HTTPd 打补丁,最终形成了 "Apache" 服务器。Apache 1.0 于 1995 年 12 月正式发布,标志着 Apache 软件基金会的诞生。

2.2 关键版本里程碑

2.3 MPM(多处理模块)


⚙️ 第三部分:核心配置与特性

3.1 基本配置

# /etc/apache2/apache2.conf 主配置文件
ServerRoot "/etc/apache2"

# 监听端口
Listen 80

# 加载模块
LoadModule php_module modules/libphp.so

# MPM 配置

    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxRequestWorkers 150
    MaxConnectionsPerChild 3000


# 虚拟主机
IncludeOptional sites-enabled/*.conf

3.2 虚拟主机配置

# /etc/apache2/sites-available/example.com.conf

    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example

    # 目录配置
    
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    

    # 日志配置
    ErrorLog ${APACHE_LOG_DIR}/example_error.log
    CustomLog ${APACHE_LOG_DIR}/example_access.log combined

    # 默认文档
    DirectoryIndex index.html index.php

    # 别名
    Alias /admin /var/www/admin

3.3 .htaccess 配置

# .htaccess 文件(目录级配置)

# 启用重写引擎
RewriteEngine On

# URL 重写
RewriteRule ^blog/(.*)$ /index.php?page=blog&slug=$1 [L]

# 301 重定向
Redirect 301 /old-page.html /new-page.html

# 密码保护
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/.htpasswd
Require valid-user

# 缓存控制

    Header set Cache-Control "public, max-age=31536000"


# 禁止访问特定文件

    Require all denied

3.4 URL 重写(mod_rewrite)

# 典型重写规则

# 强制 HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# 去除 www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# 删除尾部斜杠
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]

# 路由转发(WordPress 风格)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]

# API 路由
RewriteRule ^api/users/([0-9]+)$ users.php?id=$1 [L]

3.5 SSL 配置


    ServerName example.com
    DocumentRoot /var/www/example

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.crt
    SSLCertificateKeyFile /etc/ssl/private/example.key
    SSLCertificateChainFile /etc/ssl/certs/chain.crt

    # 安全配置
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5

    
        AllowOverride All
        Require all granted
    

3.6 与 PHP 集成

# mod_php 方式(传统)
LoadModule php_module modules/libphp.so
AddHandler php-script .php
AddType text/html .php

# PHP-FPM 方式(推荐,使用 proxy_fcgi)

    SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"

⚖️ 第四部分:Apache vs 其他 Web 服务器

4.1 Apache vs Nginx

4.2 Apache vs OpenLiteSpeed

4.3 Apache vs Tomcat


🧠 第五部分:学习建议

1
基础入门

Apache 安装、基本配置、虚拟主机、目录配置

2
核心进阶

.htaccess 配置、mod_rewrite 重写规则、SSL 配置

3
高级特性

MPM 调优、认证授权、反向代理、负载均衡

4
性能优化

缓存配置、压缩(mod_deflate)、模块管理

推荐学习资源


🎯 总结升华

Apache 是 Web 服务器的活化石。

从 1995 年至今,Apache 已经走过了近 30 年的历程。虽然在高并发场景下被 Nginx 超越,但 Apache 的 灵活配置、模块化架构、.htaccess 支持 让它在共享主机和传统托管领域依然坚挺。

如果你需要 高度可定制的 Web 服务器,或者你的项目部署在共享主机上,Apache 仍然是可靠的选择。

"Apache 是 Web 服务器领域的常青树。" 🌳

🔖 相关标签
#Web 服务器 #HTTP #模块化 #.htaccess #共享主机 #mod_rewrite #开源
📄 本文档为 Apache HTTP Server 完整白皮书 · 最后更新于 2026年06月28日