Apache #

什么是 Apache? #

Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源代码的网页服务器软件,是世界上使用最广泛的 Web 服务器软件之一。它快速、可靠、可通过简单的 API 扩展,支持多种操作系统。

Apache 的优势 #

优势 说明
开源免费 完全开源,无需授权费用
跨平台 支持 Linux、Windows、macOS 等系统
模块化设计 功能模块可按需加载,灵活扩展
稳定可靠 经过数十年发展,稳定性极高
文档丰富 官方文档完善,社区活跃
兼容性强 支持多种编程语言和数据库

文档结构 #

本指南按以下结构组织,适合初学者按顺序学习:

1. 基础入门 #

主题 描述 文档链接
Apache 简介 Apache 的发展历史、特点、应用场景 apache-intro.md
Apache 安装 各平台安装方法、编译安装 apache-install.md
配置基础 配置文件结构、基本语法 apache-config-basics.md
基本命令 启动、停止、重载、测试配置 apache-commands.md

2. 核心功能 #

主题 描述 文档链接
静态资源服务 静态文件服务、目录浏览 static-server.md
虚拟主机 基于域名/端口的虚拟主机 virtual-host.md
反向代理 代理原理、配置方法 reverse-proxy.md
URL 重写 mod_rewrite 模块详解 url-rewrite.md

3. 进阶配置 #

主题 描述 文档链接
SSL/HTTPS 配置 证书配置、HTTPS 重定向 ssl-https.md
访问控制 IP 限制、Basic 认证 access-control.md
日志管理 日志格式、日志切割 logging.md
缓存配置 浏览器缓存、代理缓存 caching.md
Gzip 压缩 压缩配置、性能优化 gzip.md

4. 高级应用 #

主题 描述 文档链接
模块开发 Apache 模块开发基础 module-development.md
性能优化 MPM 配置、连接优化 performance.md
安全加固 安全配置最佳实践 security.md
负载均衡 负载均衡策略配置 load-balancing.md

5. 扩展应用 #

主题 描述 文档链接
PHP 集成 PHP-FPM、mod_php 配置 php-integration.md
Python 集成 WSGI、mod_wsgi 配置 python-integration.md
Docker 部署 Docker 镜像、容器编排 docker-deploy.md
故障排查 常见问题、调试技巧 troubleshooting.md

学习建议 #

初学者路线 #

text
基础入门 → 核心功能 → 进阶配置

进阶路线 #

text
高级应用 → 扩展应用 → 生产实践

Apache vs Nginx #

特性 Apache Nginx
架构 进程/线程模型 事件驱动
静态文件 较好 优秀
动态内容 原生支持 需要代理
配置 .htaccess 分布式 集中式配置
内存占用 较高 较低
模块 动态加载 需编译
学习曲线 平缓 中等

快速开始 #

安装 Apache #

bash
# Ubuntu/Debian
sudo apt update
sudo apt install apache2

# CentOS/RHEL
sudo yum install httpd

# macOS (使用 Homebrew)
brew install httpd

启动 Apache #

bash
# Ubuntu/Debian
sudo systemctl start apache2

# CentOS/RHEL
sudo systemctl start httpd

验证安装 #

打开浏览器访问 http://localhost,看到 Apache 默认页面即表示安装成功。

核心概念预览 #

配置文件结构 #

text
/etc/apache2/
├── apache2.conf          # 主配置文件
├── conf-available/       # 可用配置
├── conf-enabled/         # 已启用配置
├── mods-available/       # 可用模块
├── mods-enabled/         # 已启用模块
├── sites-available/      # 可用站点
├── sites-enabled/        # 已启用站点
└── ports.conf            # 端口配置

虚拟主机配置 #

apache
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html
    
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

URL 重写 #

apache
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com$1 [R=301,L]

学习资源 #

  • 官方文档:Apache HTTP Server Documentation
  • 推荐书籍:《Apache 经典实例》、《Web 服务器配置与管理》
  • 社区支持:Apache 用户邮件列表、Stack Overflow

开始学习 #

准备好了吗?让我们从 Apache 简介 开始你的 Apache Web 服务器学习之旅!

最后更新:2026-03-29