在本指南中,我们将简要讨论Apache Web服务器的前端以及如何列出或检查服务器上已启用哪些Apache模块。
Apache是基于模块化原则构建的,这样,它使Web服务器管理员能够添加不同的模块来扩展其主要功能并增强Apache的性能。
建议阅读: 5个提升Apache Web服务器性能的技巧
一些常见的Apache模块包括:
- mod_ssl – 为Apache提供HTTPS。
- mod_rewrite – 允许使用正则表达式匹配URL模式,并使用.htaccess技巧执行透明重定向,或应用HTTP状态代码响应。
- mod_security – 为您提供保护Apache免受暴力破解或DDoS攻击的功能。
- mod_status – 允许您监视 Apache Web 服务器的负载和页面统计。
在 Linux 中,apachectl 或 apache2ctl 命令用于控制 Apache HTTP 服务器接口,它是 Apache 的前端。
您可以如下显示 apache2ctl 的用法信息:
$ apache2ctl help OR $ apachectl help
apachectl help
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 init 模式和 pass-through 模式。在 SysV init 模式下,apache2ctl 采用以下形式的简单、单词命令:
$ apachectl command OR $ apache2ctl command
例如,要启动 Apache 并检查其状态,请使用 root 用户权限运行以下两个命令,如果您是普通用户,则使用 sudo 命令:
$ sudo apache2ctl start $ sudo apache2ctl status
Check Apache Status
tecmint@TecMint ~ $ 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 tecmint@TecMint ~ $ 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
而在 pass-through 模式下,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
List Apache Enabled Loaded Modules
[root@tecmint 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模块。请记住,您可以使用下面的反馈表格与我们联系,发送您对本指南的问题或评论。
Source:
https://www.tecmint.com/check-apache-modules-enabled/