如何在Debian Apache2中提高网站速度
导读:Debian Apache2 网站提速实操清单 一 基础优化 启用压缩:开启 mod_deflate,压缩文本、样式、脚本等可显著减小传输体积。 启用长缓存:开启 mod_expires,为静态资源设置较长有效期,减少重复请求。 开启 K...
Debian Apache2 网站提速实操清单
一 基础优化
- 启用压缩:开启 mod_deflate,压缩文本、样式、脚本等可显著减小传输体积。
- 启用长缓存:开启 mod_expires,为静态资源设置较长有效期,减少重复请求。
- 开启 KeepAlive:复用 TCP 连接,降低握手开销。
- 精简日志:降低日志级别或按需记录,减少 I/O 压力。
- 禁用无用模块:减少内存与 CPU 占用。
- 示例配置(放入全局或虚拟主机配置均可):
# 启用压缩
<
IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/x-javascript
<
/IfModule>
# 启用浏览器缓存
<
IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 hour"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
<
/IfModule>
# 开启 KeepAlive
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
# 精简访问日志(按需)
# CustomLog ${
APACHE_LOG_DIR}
/access.log common
LogLevel warn
完成后执行:sudo systemctl restart apache2 使配置生效。
二 并发与 MPM 调优
- 选择并优化 MPM(多处理模块):动态站点优先 event,配合合理的工作线程与连接数;静态资源为主可适当提高并发。
- 示例(编辑 /etc/apache2/mods-enabled/mpm_event.conf):
<
IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 0
<
/IfModule>
- 调参要点:
- MaxRequestWorkers 决定并发能力,结合内存与 CPU 逐步压测调优。
- 动态内容(如 PHP)建议使用 event + php-fpm;若使用 prefork,需按进程数评估内存占用。
- 修改 MPM 后执行:
sudo systemctl restart apache2。
三 启用 HTTP/2 与 TLS 优化
- 启用 HTTP/2:多路复用、头部压缩可显著提升页面加载速度(需 HTTPS)。
- 启用模块:
sudo a2enmod http2 - 在虚拟主机启用:
Protocols h2 http/1.1
- 启用模块:
- TLS 性能优化:
- 生成 DH 参数:
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 - 启用 OCSP Stapling 与会话缓存:
- 生成 DH 参数:
SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
SSLUseStapling On
SSLStaplingCache "shmcb:/var/run/stapling-cache(150000)"
SSLSessionCache "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout 300
- 获取免费证书:
sudo apt install certbot python3-certbot-apache & & sudo certbot --apache -d yourdomain.com - 完成后重启:
sudo systemctl restart apache2。
四 页面与后端加速
- 页面资源优化:压缩与长缓存(见第一部分)配合前端构建工具生成带哈希的文件名,实现强缓存与自动更新。
- 动态内容加速(LAMP 场景):
- 启用 OPcache(php.ini):
zend_extension = opcache.so
opcache.enable = 1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
- 数据库优化:合理设置 innodb_buffer_pool_size、查询优化与索引,降低后端响应时间。
- 静态资源服务:高并发静态站点可考虑以 Nginx 作为反向代理/静态资源服务器,减轻 Apache 压力。
五 验证与持续监控
- 验证要点:
- 压缩:浏览器开发者工具或
curl -I查看响应头 Content-Encoding: gzip/deflate。 - 缓存:检查 Cache-Control、Expires 头是否符合策略。
- HTTP/2:开发者工具 Protocol 列显示 h2。
- OCSP Stapling:使用
openssl s_client -connect yourdomain:443 -servername yourdomain -status查看 OCSP response。
- 压缩:浏览器开发者工具或
- 监控与维护:
- 资源监控:
top/htop/dstat观察 CPU、内存、I/O 与连接数。 - 日志排查:
tail -f /var/log/apache2/{ access,error} .log - 系统网络:按需调整内核参数(如 net.core.somaxconn、net.ipv4.tcp_tw_reuse)以提升并发与连接回收效率。
- 变更流程:每次调整后先
sudo apache2ctl configtest校验,再reload/restart,并保留回滚方案。
- 资源监控:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian Apache2中提高网站速度
本文地址: https://pptw.com/jishu/752075.html
