如何使用 Apache 控制命令检查它的模块是否已经启用或加载

简介:

Apache 基于模块化的理念而构建,这样就可以让 web 管理员添加不同的模块来扩展主要的功能及增强性能

常见的 Apache 模块有:

  1. mod_ssl – 提供了 HTTPS 功能
  2. mod_rewrite – 可以用正则表达式匹配 url 样式,并且使用 .htaccess 技巧来进行透明转发,或者提供 HTTP 状态码回应。
  3. mod_security – 用于保护 Apache 免于暴力破解或者 DDoS 攻击
  4. mod_status - 用于监测 Apache 的负载及页面统计

在 Linux 中 apachectl 或者 apache2ctl用于控制 Apache 服务器,是 Apache 的前端。

你可以用下面的命令显示 apache2ctl 的使用信息:

 
  1. $ apache2ctl help
  2. 或者
  3. $ apachectl help
 
  1. Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
  2. [-C "directive"] [-c "directive"]
  3. [-k start|restart|graceful|graceful-stop|stop]
  4. [-v] [-V] [-h] [-l] [-L] [-t] [-S]
  5. Options:
  6. -D name : define a name for use in directives
  7. -d directory : specify an alternate initial ServerRoot
  8. -f file : specify an alternate ServerConfigFile
  9. -C "directive" : process directive before reading config files
  10. -c "directive" : process directive after reading config files
  11. -e level : show startup errors of level (see LogLevel)
  12. -E file : log startup errors to file
  13. -v : show version number
  14. -V : show compile settings
  15. -h : list available command line options (this page)
  16. -l : list compiled in modules
  17. -L : list available configuration directives
  18. -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)
  19. -S : a synonym for -t -D DUMP_VHOSTS
  20. -t -D DUMP_MODULES : show all loaded modules
  21. -M : a synonym for -t -D DUMP_MODULES
  22. -t : run syntax check for config files

apache2ctl 可以工作在两种模式下,SysV init 模式和直通模式。在 SysV init 模式下,apache2ctl用如下的简单的单命令形式:

 
  1. $ apachectl command
  2. 或者
  3. $ apache2ctl command

比如要启动并检查它的状态,运行这两个命令。如果你是普通用户,使用 sudo 命令来以 root 用户权限来运行:

 
  1. $ sudo apache2ctl start
  2. $ sudo apache2ctl status
 
  1. tecmint@TecMint ~ $ sudo apache2ctl start
  2. 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
  3. httpd (pid 1456) already running
  4. tecmint@TecMint ~ $ sudo apache2ctl status
  5. Apache Server Status for localhost (via 127.0.0.1)
  6. Server Version: Apache/2.4.18 (Ubuntu)
  7. Server MPM: prefork
  8. Server Built: 2016-07-14T12:32:26
  9. -------------------------------------------------------------------------------
  10. Current Time: Tuesday, 15-Nov-2016 11:47:28 IST
  11. Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST
  12. Parent Server Config. Generation: 2
  13. Parent Server MPM Generation: 1
  14. Server uptime: 1 hour 25 minutes 41 seconds
  15. Server load: 0.97 0.94 0.77
  16. Total accesses: 2 - Total Traffic: 3 kB
  17. CPU Usage: u0 s0 cu0 cs0
  18. .000389 requests/sec - 0 B/second - 1536 B/request
  19. 1 requests currently being processed, 4 idle workers
  20. __W__...........................................................
  21. ................................................................
  22. ......................
  23. Scoreboard Key:
  24. "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
  25. "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
  26. "C" Closing connection, "L" Logging, "G" Gracefully finishing,
  27. "I" Idle cleanup of worker, "." Open slot with no current process

当在直通模式下,apache2ctl 可以用下面的语法带上所有 Apache 的参数:

 
  1. $ apachectl [apache-argument]
  2. $ apache2ctl [apache-argument]

可以用下面的命令列出所有的 Apache 参数:

 
  1. $ apache2 help [在基于Debian的系统中]
  2. $ httpd help [在RHEL的系统中]

检查启用的 Apache 模块

因此,为了检测你的 Apache 服务器启动了哪些模块,在你的发行版中运行适当的命令,-t -D DUMP_MODULES 是一个用于显示所有启用的模块的 Apache 参数:

 
  1. --------------- 在基于 Debian 的系统中 ---------------
  2. $ apache2ctl -t -D DUMP_MODULES
  3. 或者
  4. $ apache2ctl -M
 
  1. --------------- RHEL 的系统中 ---------------
  2. $ apachectl -t -D DUMP_MODULES
  3. 或者
  4. $ httpd -M
  5. $ apache2ctl -M
 
  1. [root@tecmint httpd]# apachectl -M
  2. Loaded Modules:
  3. core_module (static)
  4. mpm_prefork_module (static)
  5. http_module (static)
  6. so_module (static)
  7. auth_basic_module (shared)
  8. auth_digest_module (shared)
  9. authn_file_module (shared)
  10. authn_alias_module (shared)
  11. authn_anon_module (shared)
  12. authn_dbm_module (shared)
  13. authn_default_module (shared)
  14. authz_host_module (shared)
  15. authz_user_module (shared)
  16. authz_owner_module (shared)
  17. authz_groupfile_module (shared)
  18. authz_dbm_module (shared)
  19. authz_default_module (shared)
  20. ldap_module (shared)
  21. authnz_ldap_module (shared)
  22. include_module (shared)
  23. ....

原文发布时间为:2017-11-21

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
PHP Apache
PHP环境搭建(配置php模块到apache服务器)
PHP环境搭建(配置php模块到apache服务器)
234 0
|
Java 网络安全 Apache
SshClient应用指南:使用org.apache.sshd库在服务器中执行命令。
总结起来,Apache SSHD库是一个强大的工具,甚至可以用于创建你自己的SSH Server。当你需要在服务器中执行命令时,这无疑是非常有用的。希望这个指南能对你有所帮助,并祝你在使用Apache SSHD库中有一个愉快的旅程!
911 29
|
存储 缓存 Ubuntu
如何在 Apache Web 服务器中安装、配置和使用模块
如何在 Apache Web 服务器中安装、配置和使用模块
340 0
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
537 1
|
存储 缓存 负载均衡
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。
293 1
|
Shell Linux 网络安全
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
461 0
|
消息中间件 Java Kafka
Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
495 0
|
消息中间件 Java Linux
Apache RocketMQ在linux上的常用命令
Apache RocketMQ在linux上的常用命令
541 12
|
缓存 Apache
执行命令安装Apache及其扩展包时报错
执行命令安装Apache及其扩展包时报错
369 1
|
存储 安全 Java
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
【Shiro】Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)的解决方案
1939 0

推荐镜像

更多