发布于2026-07-20 阅读(0)
扫一扫,手机访问
不夸张地说,网页性能优化这件事,很多时候不是靠什么“黑科技”,而是先把那些基础功做到位。Gzip压缩就是这样一个基础但效果显著的手段——它能直接减少服务器和浏览器之间传输的数据量,让页面加载速度明显提升。下面就来梳理一下在Apache服务器上启用Gzip的具体步骤,操作起来其实并不复杂。
mod_deflate模块是不是已经加载了Apache的Gzip功能是通过mod_deflate模块来实现的。所以第一步,得看看这个模块有没有被启用。怎么确认?用这条命令扫一眼就行:
apachectl -M | grep deflate如果在输出里看到了deflate_module,那说明模块已经在了,直接跳到下一步配置就行。如果没看到,就需要手动把它拉出来:
sudo a2enmod deflate启用模块之后,别忘了重启Apache让它生效:
sudo systemctl restart apache2mod_deflate,让压缩规则生效模块就位之后,接下来就是告诉Apache“哪些内容该压缩,哪些不该碰”。通常的做法是编辑Apache的主配置文件(比如/etc/apache2/apache2.conf或者/etc/httpd/conf/httpd.conf),或者更干净一点,单独创建一个配置文件(比如/etc/apache2/conf-a vailable/deflate.conf),然后启用它。
把下面这段配置加进去,基本上就能覆盖大多数场景了:
# 启用Gzip压缩,针对这些类型的内容进行压缩AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/ja vascript application/json# 设置压缩级别,9是最高级别,压缩效果最好但稍微耗点CPUDeflateCompressionLevel 9# 对于某些浏览器,设置最小压缩大小SetOutputFilter DEFLATESetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-varySetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-varySetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-varySetEnvIfNoCase Request_URI \.a vi$ no-gzip dont-varySetEnvIfNoCase Request_URI \.mov$ no-gzip dont-varySetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-varySetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-varySetEnvIfNoCase Request_URI \.wa v$ no-gzip dont-vary# 对于某些浏览器,设置最大压缩大小SetEnvIf Content-Length ^[1-9][0-9]{3,}$ no-gzip dont-vary 注意一下,这里特意把图片、视频、音频、压缩包这些已经做过压缩处理的文件类型排除在外了。对它们再压一遍,不仅效果微乎其微,反而可能浪费服务器资源。
如果你刚才用的是单独创建的配置文件,那还需要把它启用一下:
sudo a2enconf deflate同样,启用之后要重启Apache:
sudo systemctl restart apache2配置完成,怎么知道它真的在工作?最简单的方法是用浏览器的开发者工具(按F12打开),切换到“网络”标签,随便刷新一个页面,找一个请求看看它的响应头。如果看到了Content-Encoding: gzip这个字段,那就说明压缩已经正常工作了。
DeflateCompressionLevel)和压缩大小阈值可以根据服务器负载和实际场景来调整,不是非得设成9。如果CPU资源紧张,适当降低级别也是常见做法。按这套流程走下来,Apache服务器上的Gzip压缩基本就配置好了。效果立竿见影,值得一试。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8