Я accidentially удалил виртуальный файл hosts 010-foo.conf
. Apache2.4 все еще работает без reload
или restart
до сих пор. Существует ли способ видеть фактическую конфигурацию файла, который не является там еще (возможно, через команду apachectl или безотносительно)?
Если у вас не установлен mod_info, вы можете использовать gcore
для выгрузки памяти родительского процесса Apache (тот, который принадлежит pid 1) в файл, затем выполните поиск это для "VirtualHost" или чего-то подобного. Я только что протестировал его в своей системе, и он работает. Вам придется повозиться с чем-то вроде grep
, чтобы вырезать то, что вы хотите, и заменить файл конфигурации.
gcore <pid>
less core.<pid>
РЕДАКТИРОВАТЬ (из OP):
Если у вас нет gcore
, его можно установить с помощью apt-get install gdb
(Ubuntu). Файл pid обычно находится в папке /var/run/apache2/apache2.pid
. Затем вы можете выполнить команды, упомянутые выше, и выполнить поиск в двоичных файлах, например. с grep -obUaP "текст для поиска" <файл дампа>
, см. здесь для получения дополнительной информации об использовании grep для двоичных файлов.
Если вы установили mod_info
, вы можете использовать его для печати конфигурации вашего сервера . В моем случае я могу видеть всю конфигурацию так, как ее видит Apache, включая все VirtualHosts.
Если у вас еще не установлен и не работает mod_info
, эта информация может быть вам недоступна.
Вы также можете увидеть некоторую информацию VirtualHost в командной строке, используя httpd - S . Это неполно, но лучше, чем ничего:
-S Показать настройки, как они проанализированы из файла конфигурации (в настоящее время отображаются только настройки виртуального хоста).