如何检查Apache中是否启用了mod_deflate?

28

有没有命令行命令可以告诉我们 Apache 是否正在运行 mod deflate 模块?


在什么上下文中?是Web服务器配置,CGI脚本...? - Anders Lindahl
一个命令...在哪里?在htaccess文件中吗?请更明确一些。 - brettkelly
只有回答得到重点的问题才是一个好的答案。 - omg
6个回答

38

也许已经有点晚了,但我们还是来试试吧。

mod_deflate默认已启用。为确保,请尝试:

Debian / Ubuntu: apache2ctl -t -D DUMP_MODULES

CentOS: httpd -t -D DUMP_MODULES

并查看是否存在deflate_module。


8
我必须仅使用'apachectl'而不是带有'2'的版本。 - Drew

29

您可以使用这个网站验证mod_deflate:

mod_deflate测试

我的网站收到了一个小报告,显示我节省了81%的带宽!


4
该工具测试服务器上是否运行了 mod_gzip、deflate 或其他任何压缩工具,而不仅仅是 mod_deflate。 - rhand

7

您需要确保以下行存在(并且没有被注释掉)在您的Apache配置文件(httpd.conf)中:

LoadModule deflate_module modules/mod_deflate.so

注释掉的版本如下:
# LoadModule deflate_module modules/mod_deflate.so

如果您想要在文件被提供时解压缩它,请在您的 .htaccess 文件中添加以下行:

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript

如果启用了--enable-deflate选项,似乎该模块会自动内置。 - omg
@karim79,我找不到 httpd.conf 文件,我的 Apache 版本是 2.4? - Imanali Mamadiev

5

我同意“在什么情况下”的评论,但为了涵盖所有可能性(除了其他回复之外),您还可以运行以下操作:

a2enmod deflate

这个命令可以在许多运行Apache的服务器上使用(特别是基于Debian的服务器)。如果模块已经启用,该命令将告诉您;如果模块未启用,则该命令将启用它。如果该模块不存在,该命令也会告诉您,此时您需要安装它。


0

您可以使用以下命令查看在Apache中加载的所有模块:

apache2ctl -M

-1

就像所说的那样,我们需要精确。

如果您正在使用Debian,可以通过以下方式启用此模式。

//List all available mods
cd /etc/apache2/mods-avaliable

//Enable module - if you need to enable another module, just replace "deflate"
a2enmod deflate

//restart apache
service apache2 restart

//Check that module is effectively enabled
cd /etc/apache2/mods-enabled

ls -al

这就是关于Linux Debian环境的全部内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接