无需配置文件即可获取虚拟主机配置

无需配置文件即可获取虚拟主机配置

我意外删除了一个虚拟主机文件。Apache2.4至今010-foo.conf仍在运行。有没有办法查看不再存在的文件的实际配置(也许通过 apachectl 命令或其他方式)?reloadrestart

答案1

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

gcore <pid>
less core.<pid>

編輯 (來自 OP):

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

答案2

如果你安装了mod_info,你可以使用它来打印你的服务器配置就我而言,我可以看到 Apache 所看到的整个配置,包括所有 VirtualHosts。

如果您尚未mod_info安装并运行,则可能无法获得该信息。

您还可以使用以下命令在命令行上查看一些 VirtualHost 信息httpd-S 服务。虽然不完整,但总比没有好:

-S
Show the settings as parsed from the config file (currently only shows the virtualhost settings).

相关内容