有没有办法让 Apache Web 服务器从内存中显示它当前正在运行的配置,即不是通过解析配置目录中的文件?
我刚刚设法不小心覆盖了服务器上的 vhost 配置(是的,我知道,应该有备份!),虽然我可以很容易地重建它(非常新的服务器,如此简单的配置,因此没有备份然而 - 那是明天的任务),想知道是否有任何方法可以让 Apache 显示其实时运行的配置,而不仅仅是解析文件(就像 httpd -S 似乎做的那样)。
已尝试在 ServerFault 上进行谷歌搜索和搜索,但未找到任何内容。我可以想象随着时间的推移,这可能会节省一些人的培根。:)
这是从内存中恢复 Apache2 配置的方法:
将linux 进程的内存转储到文件
./dump-all-memory-of-pid.sh [pid]
pid-startaddress-stopaddress.dump
gdb
获取你的 apache 进程的 pid
转储进程的内存
grep 所有转储文件,以获得您希望在 apache 配置文件中的内容。
在 vim 中打开匹配的转储文件并搜索字符串。
通过键入“/”进行搜索,例如“/DocumentRoot”,然后简单地复制出您想要的文本。
来源:http ://forums.whirlpool.net.au/archive/2189742