获取没有配置文件的虚拟主机配置

col*_*yre 3 virtualhost apache-2.4

我不小心删除了一个虚拟主机文件010-foo.conf。Apache2.4 仍在运行reloadrestart到目前为止。有没有办法查看不再存在的文件的实际配置(可能通过 apachectl 命令或其他方式)?

Rya*_*hin 5

如果您没有安装 mod_info,您可以使用gcore将父 Apache 进程(由 pid 1 拥有的进程)内存转储到一个文件中,然后在文件中搜索“VirtualHost”或其他内容。我刚刚在我的系统上测试了它并且它有效。您将不得不搞乱一些事情,例如grep删除您想要的内容并替换配置文件。

gcore <pid>
less core.<pid>
Run Code Online (Sandbox Code Playgroud)

编辑(来自OP):

如果你没有gcore,你可以通过apt-get install gdb(Ubuntu)安装它。pid 文件通常位于/var/run/apache2/apache2.pid. 然后您可以执行上面提到的命令并搜索二进制文件,例如使用grep -obUaP "text to search" <dump file>,请参阅此处了解有关对二进制文件使用 grep 的更多信息。