아파치를 다시 시작하는 다른 방법?


11

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

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

sudo /etc/init.d/apache2 restart

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

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

sudo apachectl restart

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

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

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


1
또 다른 대안은 service apache2 restart이지만, 이전 2와 어떻게 다른지 잘 모르겠습니다
Phil

답변:


6
sudo /etc/init.d/apache2 restart

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

sudo apachectl restart

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

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

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


2
OS가 재부팅되고 서비스 apache2 start가 작동하지 않을 때 OS가 어떻게 할 것이라고 생각하십니까? apachectl을 사용하면 테스트 및 개발 작업에 적합하지만 문제를 일으킬 서버를 실행하는 것이 좋습니다. rc.local에 고정시키는 것도 해결책이 아닙니다.
kashani

나는 아파치를 다시 시작하는 두 가지 방법의 차이점이라는 질문의 절반 만 대답하고 있다고 언급해야합니다. 불행히도 나는 Rails에 대해 전혀 모른다. 내가 처음으로 돌아 다니면서 속도를 읽는다.

도와 주셔서 감사합니다. 그것은 나를 위해 둘 사이의 차이점을 정리했습니다. Rails와 관련하여 여기에 게시하기 전에 실제로 해결했습니다. apachectl은 실제로 챔피언처럼 작동했지만 init.d 방법은 그렇지 않았습니다. 그래서 지금 알고 있습니다! 감사.
Chris Allen Lane
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.