您能确定哪些 Apache 模块已被使用并且可以删除吗?

Mat*_*ons 19 httpd low-memory apache-2.2

我和很多人一样,有一个相对开箱即用的 Apache 安装,有很多默认的“LoadModule”行。

从一开始,我就安装了很多软件,说实话,我不知道什么软件在使用哪些模块。

我想减少我的 Apache 实例的内存占用,为此,我想删除正在使用的模块。我所知道的确定模块是否正在使用的唯一方法是将其从配置中删除并查看是否有任何损坏。这在很多方面都比我有时间描述的糟糕。

我想知道是否有人知道让 Apache 报告已使用哪些模块的方法,或者是否有另一种方法以编程方式确定模块是否可以安全取消配置

qua*_*nta 7

我所做的方法是构建一个测试服务器,阅读文档,然后从一个空白页面开始。

以下模块是必修的:

  • mod_authz_host
  • mod_auth_basic
  • mod_authn_file
  • mod_dir
  • mod_log_config
  • mod_mime

然后我注释掉所有剩余的模块并重新启动 Apache。如果有什么东西坏了,它会发出声音,例如:

Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)

对其他模块执行相同操作。通过这种方法,这里有一些模块通常不是需要:

  • mod_authn_alias
  • mod_authn_anon
  • mod_authn_dbm
  • mod_authn_default

  • mod_authz_user
  • mod_authz_owner
  • mod_authz_groupfile
  • mod_authz_dbm
  • mod_authz_default

  • mod_include
  • mod_logio
  • mod_ext_filter
  • mod_usertrack
  • mod_dav
  • 模组信息
  • mod_dav_fs
  • mod_speling
  • mod_suexec
  • mod_cgi

如果您不使用 LDAP 进行身份验证,则可以禁用此功能:

  • mod_ldap
  • mod_authnz_ldap

启用时应考虑以下模块:

  • mod_proxy
  • mod_proxy_balancer
  • mod_proxy_ftp
  • mod_proxy_http
  • mod_proxy_connect

  • mod_cache
  • mod_disk_cache
  • mod_file_cache
  • mod_mem_cache

  • 虽然我喜欢你的回答,但 OP 正在寻找一些工具、命令行参数或处理程序,它们会告诉你哪些模块可以安全删除,大概是在运行或检查实时服务器的配置文件时。 (5认同)
  • 这如何回答被问到的问题? (3认同)

Ril*_*ndo 5

较早的帖子建议禁用模块,直到出现问题。虽然这在生产系统中绝对是鲁莽的,但这个人走在正确的道路上,因为无论如何你都需要进行回归测试。

所以在这种情况下:

  1. 构建一个与您正在运行的服务器完全相同的测试服务器,直到站点配置
  2. 禁用模块。
  3. 在站点上执行回归测试。
  4. 重复第 2 步和第 3 步,直到出现问题或您已完成所有模块。
  5. 重新启用模块。
  6. 重复步骤 2 和 3。
  7. 使用新更新的apache,对配置进行配置flash-cut,重启apache服务。
  8. 如果失败,请恢复配置池,提取日志,分析并从步骤 2(或步骤 1,如有必要)开始。

这可能是简化 Apache 配置的最简单方法。否则,您将不得不查看每个模块,确定其功能并搜索站点以查看哪个模块使用了该功能。那需要更长的时间。

或者,这可能会给你一个很好的机会切换到 轻量级的东西:


小智 0

我没有直接回答您的问题,但互联网上有许多“微小”的 AMP 软件包,据我所知,它们不包含大多数预安装的模块。因此,我首先将它们作为示例参考。

这两个链接可能会帮助您入门:

  1. http://en.wikipedia.org/wiki/List_of_Apache%E2%80%93MySQL%E2%80%93PHP_packages
  2. http://en.wikipedia.org/wiki/Comparison_of_WAMPs