apache restart 와 graceful의 차이
apache 를 재시작하는 방법으로는 크게 restart 와 graceful 이 있습니다.
재시작하는건 동일하지만 약간의 차이가 있습니다.
restart (kill -HUP)
restart 의 경우 apache 의 모든 프로세스를 종료 시키고 재시작합니다. stop 한후 start와 동일합니다.
완전한 종료는 되지만 서비스 끊김이 발생합니다.
graceful (kill -USR1)
graceful 의 경우 접속된 컨넥션은 유지하고 그외 apache 모든 프로세스를 종료하고 재시작합니다.
이때 세션의 종료 없이 설정파일을 불러서 재실행합니다.
운영중인 서버에 작업을 하고 재시작할때는 restart 보다는 graceful 옵션을 사용하는걸 추천합니다.
출처 : https://idchowto.com/?p=38239
대부분의 많은 사용자들이 apache 설정 변경 후 restart를 진행 합니다.
가상호스트가 추가 되어도 restart
apache의 ServerName이 변경되어도 restart
restart를 진행하면 프로세스가 모두 종료하고 재시작 되기때문에 세션이 끊어지는 문제가 있습니다.
apache의 재시작 방법은 restart/graceful 이렇게 두가지가 존재 합니다.
restart (kill -HUP)
- httpd 모든 프로세스를 찾아 종료시키고 재시작 시그널 주는것이다.
graceful (kill -USR1)
- 현재 접속된 컨넥션은 그대로 유지하고 그외 httpd 모든 프로세스를
찾아 종료시키고 재시작 시그널 주는것이다.
예1) /usr/local/apache2/bin/apachectl restart
이 경우 완벽한 재시작은 이루어지지만, 서비스가 끊김 발생
예2) /usr/local/apache2/bin/apachectl graceful
서비스의 세션 및 연결 종료 없이 conf 설정 파일 불러서 재실행
서비스 운영 중에 추가되는 작업들은 restart 보다는 graceful 옵션을 통해 재시작 해주시는 것이 좋습니다.
단, 모듈 추가 등의 apache 내에 삽입되어야 하는 작업들은 반드시 restart를 해주셔야 합니다.