아파치를 다시 시작하지 않고 사이트의 아파치 구성을 다시로드하는 방법


141

사이트 활성화 디렉토리 에서 내 웹 사이트 중 하나에 대한 변수 AllowOverride 를 편집했습니다 . 아파치를 다시 시작하지 않고 새 구성을 어떻게 다시로드합니까? 가능합니까?



1
모든 답변이 잘못된 것 같습니다.
Tigran

답변:


182

명령을 사용하여 가능해야합니다

sudo /etc/init.d/apache2 reload

그것이 도움이 되길 바란다


11
이것이 정확하지 않다고 확신합니다. Ubuntu 서버의 init.d-script를 보면 reload는 정상적인 재시작을 의미합니다. 이것은 다시로드가 실제로 다시 시작되지만 정상적으로 작동한다는 것을 의미합니다. 내 의견은 서비스를 중단하지 않고는 아파치를 다시로드 할 수 없다는 것입니다.
SteffenNielsen 2012 년

4
Aruman의 대답은 정답입니다. 대부분의 Apache init 스크립트는 'apachectl restart'에 해당하는 SIGHUP을 보내며 OP는 특별히 피하도록 요청했습니다. 다른 Apache init 스크립트는 SIGUSR1을 'apachectl graceful'과 같으며 다시 시작하지만보다 우아하게 수행되며 Aruman의 답변이 제공합니다.
Bryan Larsen

@SteffenNielsen 나는 당신이 옳다고 생각합니다 ...로드 밸런서를 사용하여 재시작, 비활성화, DB 버전 관리, 다른 아파치 서버 / 컨테이너에 대해 동일한 작업을 수행하는 것이 좋습니다. K8은 이러한 문제 중 일부를 해결합니다.
Ray Foss

1
좋아, 여기에 일어나는 일이 있습니다. 주요 아파치 2 프로세스는 변경되지 않지만 어린이 또는 작업자 (올바른 용어를 알지 못합니다)가 모두 다시 시작됩니다 .PID는 실제로 변경됩니다.
엘리야 린

1
그리고이 경우에 우아하다고 생각하는 것은 그 어린이 근로자들이 죽임을 당하고 다시 태어나 기 전에 그들의 요청을 마치는 것을 의미합니다.
Elijah Lynn


28

하다

apachectl -k graceful

자세한 내용은이 링크를 확인하십시오. http://www.electrictoolbox.com/article/apache/restart-apache/


18
그러면 Apache httpd 데몬이 다시 시작됩니다.
cs01

6
@ cs01 httpd 데몬이 재시작된다는 것을 어디서 읽습니까? 답변에 제공된 링크에서 읽은 모든 내용은 다음과 같습니다apachectl graceful: Gracefully restarts the Apache daemon by sending it a SIGUSR1. If the daemon is not running, it is started. This differs from a normal restart in that currently open connections are not aborted.
Tyler Collier

5
게시 한 문서의 첫 번째 문장은 그렇지 않습니까?
cs01

3
@ cs01 다시 시작이 걱정되는 이유를 이해해야합니다. 그것은 지정되지 않았지만 제 생각에는 연결 자체가 다시 시작되는 대신 연결이 중단되는 것을 원하지 않습니다. 대부분의 경우 정상적인 재시작으로이 작업을 수행 할 수 있습니다. 연결 수명이 길면 문제가 될 수 있습니다. 정상적인 재시작이 전체 프로세스 트리를 분해하고 새로운 프로세스를 생성하는 pid는 변경되지 않습니다. 따라서 Tyler Collier의 답변은 완벽합니다.
krad

7

Apache 2.4, 비 시스템 (예 : CentOS 6.x, Amazon Linux AMI) 및 시스템 (예 : CentOS 7.x)에 대해 업데이트되었습니다.

현재 스레드로 수행하려는 작업에 따라 아파치 프로세스가 구성을 다시로드하는 두 가지 방법이 있습니다. 유휴 상태 일 때 종료하거나 직접 종료하는 것이 좋습니다.

Apache apachectl -k는 명령으로 사용 하는 것이 좋으며 systemd에서는 명령이 다음과 같이 대체됩니다.httpd -k

apachectl -k graceful 또는 httpd -k graceful

Apache는 유휴 상태 일 때 스레드를 종료하도록 권고 한 다음 Apache가 구성을 다시로드합니다 (자체를 종료하지 않음). 이는 통계가 재설정되지 않음을 의미합니다.

apachectl -k restart 또는 httpd -k restart

프로세스가 스레드를 종료한다는 점에서 중지와 비슷하지만 프로세스는 자체를 종료하지 않고 구성 파일을 다시로드합니다.

출처 : https://httpd.apache.org/docs/2.4/stopping.html


아파치 2.4.39 (승리)를 지원하지 않습니다 httpd -k gracefulhttpd -k restart: httpd /?=>-k restart : tell running Apache to do a graceful restart
안드레아스 디트리히
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.