在apache CentOS7中禁用和启用模块


9

我的目标是优化我的Apache服务器。首先,我想禁用一些模块。我正在网上冲浪,没有找到CentOS7上安装的专门用于Apache的任何东西。这是我从网上冲浪中获得的东西:禁用不需要的模块从命令行开始启用apache模块。我可以使用此httpd -t命令列出启用Apache的模块。我也知道在安装过程中编译的模块位于/etc/httpd/modules目录中。

那么在CentOS7上禁用和启用apache模块的正确方法是什么?


对于httpd.conf基于Red Hat的系统(例如CentOS ),注释(或添加)模块似乎是正常的方式。
Thomas Dickey

CentOS7上的httpd.conf文件中没有注释掉的内容
热熔器

Answers:


11

在CentOS 7上,正确的方法是浏览/etc/httpd/conf.modules.d并找到要禁用的模块的相应conf文件。您也可以检查/etc/httpd/conf/httpd.conf,但是conf.modules.d文件夹中的运气会更好。

只需将它们注释掉,重新加载apache,就可以了。


2
我不明白我怎么能在评论夹conf.modules.d东西,没有什么评论呢?/etc/httpd/conf/httpd.conf文件O_O
定影

1
在CentOS 7上使用yum的标准apache安装中,放置了一个名为/etc/httpd/conf.modules.d的文件夹,该文件夹具有许多加载模块的配置文件,包括/etc/httpd/conf.modules.d/00-base .conf。
索克尔'16

只需要在/etc/httpd/conf.d/:)中重命名模块就可以了!而且systemctl restart httpd此模块将无法正常工作!非常感谢您以正确的方式转发!
热熔器

在这种情况下,如果需要示例,则注释的开头可以是#字符,并显示“ LoadModule ...”。
马蒂

1

使用/etc/httpd/conf.modules.d或时/etc/httpd/conf.d,原理相同:要禁用模块或配置文件,请将其文件扩展名重命名为.conf


3
重命名配置文件以禁用模块的问题在于,如果/当创建配置文件的yum软件包被更新时,它将把原始文件放回原处,从而重新启用模块。
Yeroc

0

我创建了一个小的python脚本来帮助您。请看看https://github.com/zioalex/unused_apache_modules

这是您可以期望的:

curl http://localhost/server-info > http_modules_test.txt
cat http_modules_test.txt| python find_unused_apache_mod.py

1
Module name mod_python.c
Configuration Phase Participation: 4
Request Phase Participation: 11
Current Configuration: 3

2
Module name mod_version.c
Configuration Phase Participation: 0
Request Phase Participation: 0
Current Configuration: 1

3
Module name mod_proxy_connect.c
Configuration Phase Participation: 0
Request Phase Participation: 0
Current Configuration: 0

To remove safely:
 ['mod_proxy_connect.c']
POPPED:  mod_proxy_connect.c

To KEEP:  ['mod_python.c', 'mod_version.c', 'mod_proxy_connect.c']
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.