Apache 基础模块位于哪里?

Apache 基础模块位于哪里?

当我输入时,apache2ctl - l我得到了当前编译到服务器中的模块以下列表:

core.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c

但我到处都找不到。我试过了sudo find / -name 'core.c'——没找到。我也查过了/usr/lib/apache2/modules——也没找到。

操作系统:Ubuntu Server 20.04 LTS

在哪里可以找到这些模块?

答案1

您无法找到这些模块,因为它们编译到服务器中。也就是说,他们字面上地作为主文件httpdapache2二进制文件的一部分,而不是单独的模块文件。

(打包者可以选择将他们想要的任何模块直接编译到服务器中。但是,有些模块是无条件编译的;例如,mod_so 永远不能成为单独的模块文件,因为它实际上是模块加载器。)

但除此之外,只有源代码文件才使用.c扩展名;实际编译的模块使用.so(有点像 Windows .dll)。例如,mod_rewrite 模块将是“ mod_rewrite.so”。

相关内容