나는 systemd를 도입한 데비안 8을 사용하기 시작했습니다. 저는 SysV와 systemd를 둘러싼 정치에는 관심이 없지만, 특히 Apache(2.4)에 대해서는 혼란스럽습니다.
이제 Apache를 다시 시작하는 방법에는 두 가지가 있습니다.
apache2ctl restart
또는apache2ctl graceful
systemctl restart apache2
그리고 그것은systemctl restart apache2.service
똑같은 일을 하는 것 같습니다.
그리고 그들은 다른 일을 하는 것처럼 보입니다(!). 차이점을 이해하지 못합니다.
제대로 완전히 다시 시작하려면 두 가지를 모두 수행해야 하는 것 같습니다. 예를 들어 PHP 모듈의 구성 파일을 변경한 후 두 가지 이후의 변경 사항만 기록되었습니다.
apache2ctl configtest
실패하고 실패가 보고된 또 다른 경우 에는 systemctl status apache2
이러한 명령 중 첫 번째 명령이 만족되도록 구성을 수정하고 다시 시작했지만 apache2ctl restart
systemd status 명령은 여전히 실행되지 않고 이전 구성 문제로 나열되었습니다.
언젠가는 systemd(RTFM)에 대해 깊이 있게 읽어볼 것을 약속합니다. 동시에 아파치와 관련된 실용적인 수준에서는 조언을 주시면 감사하겠습니다.
답변1
일관성을 원한다면 항상 systemctl
for stop
, start
및 를 사용하세요 restart
. 그러면 결국 프로그램을 사용하게 됩니다 apache2ctl
. 지금은 스크립트를 통해 하지만 앞으로는 /etc/init.d/apache2
기본 유닛 파일을 통해 사용할 수도 있습니다 .systemd
systemd
직접 사용했을 때 알 수 없으며 실제로는 제대로 작동하지만 생각이 여전히 잘못된 상태에 있는 apache2ctl
상황이 발생할 수 있습니다(당신이 발견한 대로) .systemd
apache2
configtest
및 의 경우 을 status
사용합니다 apache2ctl
. 그들은 상태를 변경하지 않고 단지 아파치를 쿼리합니다.