Apache的mod_deflate模块安装配置步骤详解

SEO研究中心 SEO研究中心提供免费SEO公开课

mod_deflate模块提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽了,下面我们来介绍在linux中mod_deflate模块安装配置.

最近把博客从虚拟主机搬到 VPS 上,自然一番折腾,估计围绕这一过程,写三四篇博客不是梦,这是第一篇,服务器端的压缩功能 – 服务器在返回内容前先对内容做 gzip 压缩,以减小传输的文件大小 – 照 Google 的说法,能减小 90%,但这也不是重点,重点是服务器端不开启 gzip 压缩的话,Google PageSpeed 的测试就会扣分 – 我个人特别在意这个分数.

Apache 下,压缩功能由 mod_deflate 模块控制.

安装#:我的 VPS 系统装的是 openSUSE 13.1 64 位系统,Apache 版本为 2.4,首先查看下系统中是否已经安装 mod_deflate模块,我知道的有两种方法.

当前用户下 执行命令 httpd2 -M,输出的内容大致如下:

  1. chenxsan@zfanw.com:~>httpd2-M
  2. [FriOct3113:13:59.2782032014][so:warn][pid9292]AH01574:moduledeflate_moduleisalreadyloaded,skipping
  3. LoadedModules:
  4. core_module(static)
  5. access_compat_module(static)
  6. so_module(static)
  7. http_module(static)
  8. mpm_prefork_module(static)
  9. unixd_module(static)
  10. systemd_module(static)
  11. actions_module(shared)
  12. alias_module(shared)
  13. auth_basic_module(shared)
  14. authn_file_module(shared)
  15. authz_host_module(shared)
  16. authz_groupfile_module(shared)
  17. authz_user_module(shared)
  18. autoindex_module(shared)
  19. cgi_module(shared)
  20. dir_module(shared)
  21. env_module(shared)
  22. expires_module(shared)
  23. include_module(shared)
  24. log_config_module(shared)
  25. mime_module(shared)
  26. negotiation_module(shared)
  27. setenvif_module(shared)
  28. ssl_module(shared)
  29. userdir_module(shared)
  30. reqtimeout_module(shared)
  31. authn_core_module(shared)
  32. authz_core_module(shared)
  33. php5_module(shared)
  34. rewrite_module(shared)
  35. deflate_module(shared)

查看 /etc/sysconfig/apache2 文件内容,可以直接打开文件,也可以使用 grep 命令:

grep "APACHE_MODULES=" /etc/sysconfig/apache2

得出的结果大致如下:

  1. APACHE_MODULES=”actionsaliasauth_basicauthn_fileauthz_hostauthz_groupfileauthz_userautoindexcgidirenvexpiresincludelog_configmimenegotiationsetenvifssluserdirreqtimeoutauthn_coreauthz_coremod-userdirphp5mod_rewritemod_deflatedeflate”

我这里显示的结果是已经安装加载了 mod_deflate 模块,假如没有,则使用 a2enmod 来启用:sudo a2enmod deflate 等等,为什么没说安装直接进入启用阶段?因为 mod_deflate 模块在安装 Apache 时已经捎带装上,所以可以跳过安装这个步骤.

启用 mod_deflate 模块后,需要重启 Apache 服务器:sudo rcapache2 restart

启用#如上所述m配置#,启用 mod_deflate 模块后m就可以开始配置了,可以照 openSUSE 的操作说明一步步来,也可以粗野直接点,修改 /etc/apache2/httpd.conf 文件,在文件末加入如下代码:

  1. SetOutputFilterDEFLATE
  2. SetEnvIfNoCaseRequest_URI\.(?:gif|jpe?g|png)$\
  3. no-gzipdont-vary
  4. SetEnvIfNoCaseRequest_URI\
  5. \.(?:exe|t?gz|zip|bz2|sit|rar|7z)$\
  6. no-gzipdont-vary
  7. SetEnvIfNoCaseRequest_URI\.pdf$no-gzipdont-vary
  8. BrowserMatch^Mozilla/4gzip-only-text/html
  9. BrowserMatch^Mozilla/4\.0[678]no-gzip
  10. BrowserMatch\bMSIE!no-gzip!gzip-only-text/html --phpfensi.com

或者可以考虑 h5bp 提供的配置.

然后重启 Apache:sudo rcapache2 restart 再跑一趟 PageSpeed,就不会再提服务器压缩的事 – 恭喜,你已经压缩掉 90% 的传输文件大小,为用户节省大量带宽与时间.

相关广告
  • Apache的mod_deflate模块安装配置步骤详解 Apache的mod_deflate模块安装配置步骤详解 Apache的mod_deflate模块安装配置步骤详解
相关阅读

Apache的mod_deflate模块安装配置步骤详解

2019/10/10 17:45:32 | 谷歌SEO算法 | GDPR