Ubuntu Apache2如何优化配置
导读:Ubuntu 上 Apache2 优化配置指南 一 基础准备与模块管理 更新系统与软件包,保持性能修复与安全补丁为最新:sudo apt update && sudo apt full-upgrade。 只启用必需模块,减...
Ubuntu 上 Apache2 优化配置指南
一 基础准备与模块管理
- 更新系统与软件包,保持性能修复与安全补丁为最新:sudo apt update & & sudo apt full-upgrade。
- 只启用必需模块,减少攻击面与内存占用:sudo a2enmod ssl rewrite;不需要的模块用 sudo a2dismod module_name 禁用。
- 配置监听端口与虚拟主机:在 /etc/apache2/ports.conf 中配置 Listen 80 与 Listen 443 ssl http2;站点配置位于 /etc/apache2/sites-available/,启用时软链到 /etc/apache2/sites-enabled/。
- 启用 HTTP/2 可提升 HTTPS 场景下的并发与首包速度(需 TLS)。
- 修改配置后使用 sudo systemctl restart apache2 使生效。
二 核心性能参数调优
- 启用并优化持久连接:KeepAlive On,MaxKeepAliveRequests 建议 50–100,KeepAliveTimeout 建议 2–5 秒(高并发可适当降低以减少占用)。
- 合理设置超时:Timeout 建议 15–30 秒,避免过长占用连接与后端资源。
- 并发与进程模型:根据负载选择并调整 MPM(prefork/worker/event);高并发优先使用 event 或 worker。
- prefork 示例(适合传统阻塞型应用,如部分 PHP 场景):
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
- 并发上限需结合内存与单进程占用谨慎设置,避免 OOM。
- prefork 示例(适合传统阻塞型应用,如部分 PHP 场景):
- 压缩与缓存:启用 mod_deflate 压缩文本类资源(HTML/CSS/JS),启用 mod_expires 设置浏览器缓存策略,静态资源命中率提升可显著降低带宽与时延。
- 日志与信息暴露:将 LogLevel 调整为 warn 减少磁盘 I/O;关闭或限制 ServerTokens/ServerSignature 与 /server-status 的对外访问,仅本地查看。
三 启用 HTTP/2 与 SSL/TLS
- 在 ports.conf 启用 HTTP/2:Listen 443 ssl http2;确保已启用 mod_ssl 并正确配置证书链。
- 推荐的 SSL 基础配置要点:
- SSLEngine on
- SSLCertificateFile /path/to/cert.crt
- SSLCertificateKeyFile /path/to/private.key
- SSLCertificateChainFile /path/to/chain.crt(或合并到证书文件中)
- 启用 HTTP/2 后,浏览器可复用连接并行拉取资源,通常能改善首屏与整体加载速度。
四 监控与维护
- 启用 mod_status 查看运行状态(仅本地访问):
< Location “/server-status”>
SetHandler server-status
Require local
- 使用 htop/sar 等系统工具与 Apache 状态页观察 CPU/内存/连接数,结合压测(如 ab、JMeter)逐步微调参数。
- 使用 logrotate 自动轮转与压缩日志,避免日志过大影响 I/O 与磁盘空间。
五 高并发与扩展方案
- 当单机并发与资源成为瓶颈时,可在 Apache 前部署 HAProxy/Nginx 作为反向代理/负载均衡器,将流量分发到多台后端 Apache 或应用节点,提高整体可用性与扩展上限。
- 对于动态应用,结合应用层缓存(如 OPcache)、CDN 与数据库优化,减少源站压力。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Apache2如何优化配置
本文地址: https://pptw.com/jishu/755227.html
