阅读量:284
# 压缩文本、HTML、JavaScript、CSS、XML等文件类型
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript
# 压缩图片文件类型(可选)
AddOutputFilterByType DEFLATE image/jpeg image/png image/gif image/webp
# 设置最小文件大小,小于该大小的文件不进行压缩
SetOutputFilter DEFLATE
DeflateCompressionLevel 9
DeflateMemLevel 9
DeflateBufferSize 16384
DeflateWindowSize 16384
# 压缩文本、HTML、JavaScript、CSS、XML等文件类型
AddOutputFilterByType GZIP text/html text/plain text/xml text/css application/javascript application/x-javascript
# 压缩图片文件类型(可选)
AddOutputFilterByType GZIP image/jpeg image/png image/gif image/webp
# 设置最小文件大小,小于该大小的文件不进行压缩
GzipCompressionLevel 9
GzipMemLevel 9
GzipBufferSize 16384
GzipWindowSize 16384
3. 调整压缩级别和缓冲区大小4. 排除不需要压缩的文件类型
有时你可能不想压缩某些文件类型,例如已经压缩过的文件(如JPEG、PNG、GIF)或动态生成的内容。你可以使用SetEnvIf指令来排除这些文件:
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
5. 启用浏览器缓存
为了进一步优化性能,可以启用浏览器缓存。在httpd.conf或apache2.conf文件中添加以下配置:
ExpiresActive On
ExpiresByType text/html "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
6. 重启Apache服务器
完成上述配置后,重启Apache服务器以使更改生效:
sudo systemctl restart apache2 # 对于Debian/Ubuntu系统
sudo systemctl restart httpd # 对于CentOS/RHEL系统
通过这些步骤,你可以有效地优化Apache服务器上的Gzip压缩,从而提高网站的加载速度和用户体验。