실수로 가상 호스트 파일을 삭제했습니다 010-foo.conf
. Apache2.4는 아직까지 실행되지 reload
않고 실행 중입니다. restart
더 이상 존재하지 않는 파일의 실제 구성을 볼 수 있는 방법이 있습니까(apachectl 명령 등을 통해)?
답변1
mod_info가 설치되어 있지 않은 경우 gcore
상위 Apache 프로세스(pid 1이 소유한 프로세스) 메모리를 파일에 덤프한 다음 "VirtualHost" 등을 검색할 수 있습니다. 방금 내 시스템에서 테스트했는데 작동합니다. grep
원하는 것을 잘라내고 구성 파일을 교체하는 등의 작업을 수행해야 합니다 .
gcore <pid>
less core.<pid>
편집 (OP에서):
가 없으면 (Ubuntu) gcore
를 통해 설치할 수 있습니다 apt-get install gdb
. pid 파일은 일반적으로 /var/run/apache2/apache2.pid
. 그런 다음 위에서 언급한 명령을 수행하고 바이너리 파일을 검색할 수 있습니다. 예를 들어 를 사용하면 grep -obUaP "text to search" <dump file>
다음을 참조하세요.여기바이너리 파일에 grep을 사용하는 방법에 대한 자세한 내용은
답변2
을 설치했다면 mod_info
다음을 수행할 수 있습니다.이를 사용하여 서버 구성을 인쇄하십시오.. 제 경우에는 모든 VirtualHost를 포함하여 Apache가 보는 것과 같은 전체 구성을 볼 수 있습니다.
아직 설치 하여 작업하지 않은 경우 mod_info
이 정보를 사용하지 못할 수도 있습니다.
다음을 사용하여 명령줄에서 일부 VirtualHost 정보를 볼 수도 있습니다.httpd -S. 완전하지는 않지만 아무 것도 없는 것보다는 낫습니다.
-S Show the settings as parsed from the config file (currently only shows the virtualhost settings).