在本指南中,我們將簡要介紹Apache網絡伺服器前端以及如何列出或檢查您的伺服器上已啟用哪些Apache模組。
Apache是建立在模塊化原則基礎上的,這樣一來,它使網絡伺服器管理員能夠添加不同的模組來擴展其主要功能並增強Apache性能。
建議閱讀: 提高Apache網絡伺服器性能的5個技巧
一些常見的Apache模組包括:
- mod_ssl – 提供Apache的HTTPS。
- mod_rewrite – 允許使用正則表達式匹配URL模式,並使用.htaccess技巧執行透明重定向,或應用HTTP狀態碼響應。
- mod_security – 為您提供保護Apache免受暴力攻擊或DDoS攻擊的功能。
- mod_status – 允許您監控 Apache 網頁伺服器負載和頁面統計。
在 Linux 中,使用 apachectl 或 apache2ctl 命令來控制 Apache HTTP 伺服器介面,它是 Apache 的前端。
您可以顯示 apache2ctl 的使用資訊如下:
$ apache2ctl help OR $ 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 並檢查其狀態,請使用 sudo 命令 以 root 使用者權限執行這兩個命令,如果您是一般使用者:
$ sudo apache2ctl start $ sudo apache2ctl 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 網頁伺服器上啟用了哪些模組,請根據您的發行版運行以下適用的命令,其中 -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
[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/