아파치를 다시 시작하는 다른 방법? 문제가있었습니다. 내가 그런 식으로

여기에 Apache 질문이 있습니다.

개발자로서 경력을 쌓기 위해 다음과 같이 Apache를 다시 시작했습니다.

sudo /etc/init.d/apache2 restart

방금 오늘 첫 번째 Rails 응용 프로그램을 배포했지만 호스트 컴퓨터에서 Apache를 다시 시작하는 데 문제가있었습니다. 내가 그런 식으로 시도했을 때, Apache는 다시 시작하려고 시도하지만 결국 중단됩니다.

그러나 이것은 잘 작동했습니다.

sudo apachectl restart

이 두 기술의 차이점은 무엇입니까? 나는 후자가 기껏해야 처음으로 “구문 설탕”이라고 가정했지만, 후자는 효과가 없었지만 전자는 그렇지 않았기 때문에 그렇지 않아야한다.

관련이 있고 (의심 스럽다고 생각되는 경우)이 Rails 애플리케이션은 Phusion Passenger을 사용합니다. 나의 이전 개발 경험 (이전의 방법이 잘 작동 함)은 대부분 PHP에 있습니다. 저는 Rails를 처음 접했습니다.

문제의 서버는 Ubuntu 11.04 (Natty)를 실행합니다.



답변

sudo /etc/init.d/apache2 restart

이 방법은 Linux 배포판의 init 스크립트 를 사용하여 프로세스를 다시 시작합니다. 이 스크립트는 부팅시 실행되어 아파치를 시작합니다.

sudo apachectl restart

이 방법은 apachectl 제어 프로그램을 사용합니다 . 거의 모든 경우에 나는 아파치 데몬을 사용하여 아파치 데몬을 조작하는 것이 좋습니다. 프로세스 재시작 방법 (정상적 vs. 재시작 참조), 구성 검증 옵션 및 상태 정보를 얻는 방법을보다 세밀하게 제어 할 수 있습니다.

init 스크립트를 사용하여 아파치와 apachectl을 다시 시작하는 것의 주요 차이점은 apachectl은 관리자가 아파치를 제어 할 수 있도록 특별히 설계된 반면, init 스크립트는 커널과 init 데어 몬이로드 된 후 Unix가 프로세스를 시작하는 일반적인 방법으로 설계되었다는 것입니다.

편집 : 불행히도, Rails 또는 Phusion Passenger 문제를 해결하는 방법을 모르겠습니다. 단서가 있는지 Apache 로그 를 살펴보십시오 .