아파치와 시스템

아파치와 시스템

나는 systemd를 도입한 데비안 8을 사용하기 시작했습니다. 저는 SysV와 systemd를 둘러싼 정치에는 관심이 없지만, 특히 Apache(2.4)에 대해서는 혼란스럽습니다.

이제 Apache를 다시 시작하는 방법에는 두 가지가 있습니다.

  1. apache2ctl restart또는apache2ctl graceful
  2. systemctl restart apache2그리고 그것은 systemctl restart apache2.service똑같은 일을 하는 것 같습니다.

그리고 그들은 다른 일을 하는 것처럼 보입니다(!). 차이점을 이해하지 못합니다.

제대로 완전히 다시 시작하려면 두 가지를 모두 수행해야 하는 것 같습니다. 예를 들어 PHP 모듈의 구성 파일을 변경한 후 두 가지 이후의 변경 사항만 기록되었습니다.

apache2ctl configtest실패하고 실패가 보고된 또 다른 경우 에는 systemctl status apache2이러한 명령 중 첫 번째 명령이 만족되도록 구성을 수정하고 다시 시작했지만 apache2ctl restartsystemd status 명령은 여전히 ​​실행되지 않고 이전 구성 문제로 나열되었습니다.

언젠가는 systemd(RTFM)에 대해 깊이 있게 읽어볼 것을 약속합니다. 동시에 아파치와 관련된 실용적인 수준에서는 조언을 주시면 감사하겠습니다.

답변1

일관성을 원한다면 항상 systemctlfor stop, start및 를 사용하세요 restart. 그러면 결국 프로그램을 사용하게 됩니다 apache2ctl. 지금은 스크립트를 통해 하지만 앞으로는 /etc/init.d/apache2기본 유닛 파일을 통해 사용할 수도 있습니다 .systemd

systemd직접 사용했을 때 알 수 없으며 실제로는 제대로 작동하지만 생각이 여전히 잘못된 상태에 있는 apache2ctl상황이 발생할 수 있습니다(당신이 발견한 대로) .systemdapache2

configtest및 의 경우 을 status사용합니다 apache2ctl. 그들은 상태를 변경하지 않고 단지 아파치를 쿼리합니다.

관련 정보