Linux禁用Apache中不需要的模块以节省内存
时间:2020-01-09 10:40:10 来源:igfitidea点击:
问题描述:如何在Debian Linux下禁用不需要的Apache模块?
解决方法:您可以禁用Apache中所有不需要的模块,以节省内存并提高性能。
这也可能导致改善的安全性。
不同的Linux发行版采用不同的方法来禁用模块。
Debian/Ubuntu Linux禁用模块
Debian/Ubuntu Linux带有两个脚本:
(a)a2enmod
是一个脚本,用于启用apache2配置中的指定模块。
它通过在/etc/apache2/mods-enabled中创建符号链接来实现。
(b)a2dismod
通过删除那些符号链接来禁用模块。
启用已启用的模块或禁用已禁用的模块不是错误。
语法:
a2dismod {模块名称}
例如,禁用名为foo或mime_magic的模块,执行:
# a2dismod foo # a2dismod mime_magic
再次启用模块
如果您需要重新启用禁用的模块,请使用a2enmod命令,如下所示:
语法:
a2enmod {module-name}
例如,启用imagemap模块,执行:
# a2enmod imagemap
注意,如果不知道模块名称,它将显示所有可用模块的列表:
# a2enmod
输出:
Which module would you like to disable? Your choices are: alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dir env fastcgi mime negotiation php5 setenvif status userdir Module name? authz_user
CentOS/Redhat(RHEL)/Fedora Linux禁用模块
在基于Redhat的Linux发行版下,您需要修改/etc/httpd/conf.d/目录中存储的* .conf文件。
Apache在启动时会扫描带有.conf后缀的文件。
因此,如果系统不需要使用mod_python,请将python.conf重命名为python.bak并使用命令服务httpd restart重新启动Apache,以禁用该特定模块并节省内存。
# cd /etc/httpd/conf.d/ # mv perl.conf no.perl.bak # /etc/init.d/httpd restart
启用模块
要重新启用模块,只需将它们重命名为其原始名称,然后重新启动Apache以获取模块功能:
# cd /etc/httpd/conf.d/ # mv no.perl.bak perl.conf # /etc/init.d/httpd restart
有关/etc/httpd/conf.d/目录的更多信息
该目录包含Apache 2.0模块特定的配置文件。
此目录中所有扩展名为.conf的文件都将被视为Apache配置文件。
文件是按字母顺序处理的,因此,如果使用依赖于例如mod_perl的配置指令,请确保这些文件在文件名中的排列顺序比perl.conf要晚。
manual.conf
:此配置文件允许在http://localhost/manual /上访问该手册perl.conf
:mod_perl将Perl解释器合并到Apache Web服务器中,以便Apache Web服务器可以直接执行Perl代码。php.conf
:php5的php5模块proxy_ajp.conf
:加载后,mod_proxy_ajp模块增加了对代理到AJP/1.3后端服务器(例如Tomcat)的支持。- python.conf:mod_python是一个模块,它将Python语言解释器嵌入服务器中,从而允许用Python编写Apache处理程序。
- squid.conf:访问Squid缓存管理器
ssl.conf
:Apache SSL服务器配置- webalizer.conf:Webalizer统计配置
welcome.conf
:如果根URL没有默认的索引页面,则此配置文件将启用默认的Welcome页面。