보통 apache 소스설치를 하게된다면 실행파일 스크립트를 /etc/init.d/apachectl 에 만들게 된다.

 

/etc/init.d/apachectl -? 이라는 명령어를 입력한다면 해당 명령어 옵션들을 알 수 있다.

여기서 -k start는 httpd 데몬을 시작한다. 그러나 이미 실행중이라면 오류를 내기 때문에 ps -ef | grep httpd 를 확인해보자. 또한 설정파일을 읽어서 실행하기 때문에 설정파일 오류가 있다면 실행되지 않는다.

 

stop 은 httpd 데몬을 중료한다. 

 

restart 는 apache 데몬을 재시작하지만 데몬이 실행중이 아니라면 시작한다. 그러나 start 처럼 설정파일을 읽고선 실행하기 때문에 오류가 있을시 종료만되고 시작되지 않는다.

 

graceful apache 데몬을 일반적인 재시작과 달리 현재 열려있는 연결을 끊지않는다. 또, 이전 로그파일을 즉시 닫지 않는다. 즉, 로그순환 스크립트에서 이 명령을 사용한다면, 이전 로그파일을 처리하기전에 로그파일을 닫혔음을 보장하기위해 상당히 기다려야 한다. 아파치가 재시작시 실패하지 않음을 확인하기위해 재시작 전에 자동으로 configtest 명령과 같이 설정파일을 검사한다. 즉 pid번호가 바뀌지 않으므로 현재 접속자 이용자들이 끊기지 않는다.

 

graceful-stop 은 부모프로세스가 자식프로세스에게 진행하고 있는 프로세스 종료하고 천천히 종료하라는 뜻과 비슷합니다. 

 

systemctl restart httpd 은 /etc/init.d/apachectl restart와 동일합니다.

그러나 systemctl reload httpd 은 /etc/init.d/apachectl graceful 과 동일합니다.

 

Posted by returnrisk
,