当我输入时,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
您无法找到这些模块,因为它们编译到服务器中。也就是说,他们字面上地作为主文件httpd
或apache2
二进制文件的一部分,而不是单独的模块文件。
(打包者可以选择将他们想要的任何模块直接编译到服务器中。但是,有些模块是无条件编译的;例如,mod_so 永远不能成为单独的模块文件,因为它实际上是模块加载器。)
但除此之外,只有源代码文件才使用.c
扩展名;实际编译的模块使用.so
(有点像 Windows .dll
)。例如,mod_rewrite 模块将是“ mod_rewrite.so
”。