如何在Linux中检查启用/加载哪些Apache模块

在本指南中,我们将简要介绍Apache Web服务器前端,以及如何列出或检查在Linux中启用和加载的Apache模块。

在本指南中,我们将简要介绍Apache Web服务器前端以及如何列出或检查您的服务器上启用了哪些Apache模块。 Apache是建基于模块化的原则,这种方式,它使网络服务器管理员可以添加不同的模块以延长其主要功能和提高的apache性能为好。

建议阅读: 5个窍门,以提高你的Apache Web服务器的性能

一些常见的Apache模块包括:
  1. mod_ssl -它提供HTTPS为Apache
  2. mod_rewrite -它允许使用正则表达式匹配的URL模式,并使用执行透明的重定向的.htaccess技巧 ,或应用HTTP状态代码响应。
  3. mod_security -它为您提供了保护Apache的对抗蛮力或DDoS攻击
  4. mod_status -可让您监视Apache Web服务器的负载和页面静态
在Linux中,apachectl中或者apache2ctl命令用于控制的Apache HTTP服务器的接口,它是一个前端到Apache。 您可以显示如下apache2ctl使用信息:
$ apache2ctl help
OR
$ apachectl help
apachectl帮助
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
-D name            : define a name for use in  directives
-d directory       : specify an alternate initial ServerRoot
-f file            : specify an alternate ServerConfigFile
-C "directive"     : process directive before reading config files
-c "directive"     : process directive after reading config files
-e level           : show startup errors of level (see LogLevel)
-E file            : log startup errors to file
-v                 : show version number
-V                 : show compile settings
-h                 : list available command line options (this page)
-l                 : list compiled in modules
-L                 : list available configuration directives
-t -D DUMP_VHOSTS  : show parsed settings (currently only vhost settings)
-S                 : a synonym for -t -D DUMP_VHOSTS
-t -D DUMP_MODULES : show all loaded modules 
-M                 : a synonym for -t -D DUMP_MODULES
-t                 : run syntax check for config files
apache2ctl可以在两种可能的模式,一个Sys系统V启动模式和直通模式功能。 在SysV初始化模式,apache2ctl发生在下面的表格简单的一个单词的命令:
$ apachectl command
OR
$ apache2ctl command
例如,要启动Apache并检查其状态,通过采用执行root用户权限这两个命令sudo命令 ,如果你是一个普通用户:
$ sudo apache2ctl start
$ sudo apache2ctl status
检查Apache状态
howtoing@HowToing ~ $ sudo apache2ctl start
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
httpd (pid 1456) already running
howtoing@HowToing ~ $ sudo apache2ctl status
Apache Server Status for localhost (via 127.0.0.1)
Server Version: Apache/2.4.18 (Ubuntu)
Server MPM: prefork
Server Built: 2016-07-14T12:32:26
-------------------------------------------------------------------------------
Current Time: Tuesday, 15-Nov-2016 11:47:28 IST
Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST
Parent Server Config. Generation: 2
Parent Server MPM Generation: 1
Server uptime: 1 hour 25 minutes 41 seconds
Server load: 0.97 0.94 0.77
Total accesses: 2 - Total Traffic: 3 kB
CPU Usage: u0 s0 cu0 cs0
.000389 requests/sec - 0 B/second - 1536 B/request
1 requests currently being processed, 4 idle workers
__W__...........................................................
................................................................
......................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
而在直通模式下运行时,可以apache2ctl采取一切以下语法Apache的参数:
$ apachectl [apache-argument]
$ apache2ctl [apache-argument]
所有Apache参数可以列出如下:
$ apache2 help    [On Debian based systems]
$ httpd help      [On RHEL based systems]

选中启用的Apache模块

因此,为了检查该模块在Apache Web服务器上启用,为您的发行,其中运行下面的命令适用-t -D DUMP_MODULES是Apache的参数来显示所有的启用/加载的模块:
---------------  On Debian based systems --------------- 
$ apache2ctl -t -D DUMP_MODULES   
OR 
$ apache2ctl -M
---------------  On RHEL based systems --------------- 
$ apachectl -t -D DUMP_MODULES   
OR 
$ httpd -M
$ apache2ctl -M
列出启用Apache的加载模块
[root@howtoing httpd]# apachectl -M
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
....
就这样!在这个简单的教程中,我们解释了如何使用Apache前端工具来列出启用/加载的apache模块。请注意,您可以使用以下反馈表单与我们联系,向我们发送有关本指南的问题或意见。