Ubuntu 上提升 Apache2 稳定性的实用清单
一 基础稳固与运行环境
- 保持系统与软件为最新版本,及时获取安全补丁与修复:执行 sudo apt update && sudo apt full-upgrade -y。
- 仅启用必要的模块,减少攻击面与资源占用:如 a2enmod ssl rewrite deflate cache disk_cache;不需要的用 a2dismod 禁用。
- 正确设置文件与目录权限,避免权限错误导致 500 或异常退出:如 chown -R www-data:www-data /var/www/html,chmod -R 755 /var/www/html。
- 打开防火墙仅放行必要端口:如 ufw allow 80/tcp 与 ufw allow 443/tcp。
- 启用 HTTP/2 提升并发与首包体验:在端口监听处使用 Listen 443 ssl http2 并配置有效证书。
二 选择与配置合适的 MPM
三 缓存压缩与静态资源优化
- 启用压缩减少传输体积与排队:a2enmod deflate,对 text/html、text/css、application/javascript 等启用压缩。
- 启用页面与静态资源缓存:a2enmod cache 与 a2enmod disk_cache,配置缓存目录与层级,加速命中并降低后端压力。
- 设置静态资源过期策略:a2enmod expires,对图片、CSS、JS 等设置合适 Cache-Control/Expires,减少重复请求。
- 引入 CDN 承载静态资源,降低源站连接压力与跨网延迟。
四 监控 日志 与安全加固
- 启用 mod_status 并限制访问来源,实时查看 Busy/Idle workers、请求速率 等关键指标,便于定位瓶颈。
- 配置 logrotate 自动轮转与压缩日志,防止日志过大导致磁盘占满或 I/O 抖动。
- 持续监控与告警:结合 top/htop、vmstat、iostat、sar 与 Nagios/Zabbix 等,关注 CPU、内存、连接数、5xx 错误 等趋势。
- 基础安全:强制 HTTPS/TLS,仅开放 80/443;对管理页面与敏感目录设置 访问控制;必要时启用 mod_evasive 缓解 DoS;定期更新与备份。
五 高可用与扩展
- 通过 mod_proxy 与 mod_proxy_balancer 做反向代理与负载均衡,将流量分发到多台后端,提升整体可用性与并发能力。
- 架构层面引入 CDN 与多实例部署,配合健康检查与自动故障转移,降低单点风险。