Apache가 SIGTERM을 수신하고 중지하는 이유는 무엇입니까?

Apache가 SIGTERM을 수신하고 중지하는 이유는 무엇입니까?

정적 콘텐츠를 위해 nginx를 실행하는 서버가 있고 그 뒤에 Apache가 있고 PHP 및 Python 코드가 실행됩니다.

하루에 한 번씩 Apache가 종료되고 Nginx는 502 Bad Gateway 오류를 발생시킵니다. 로그에서 찾을 수 있는 것은 Apache가 SIGTERM을 수신했다는 것뿐이며 다른 세부 정보는 없습니다.

[mpm_prefork:notice] [pid 11811] AH00169: SIGTERM을 포착하여 종료 중입니다.

디스크 공간이 부족한 것 외에는 유지 관리가 필요 없이 한동안 제대로 실행되었습니다. 몇 달 전에 SSL 프록시 구성을 수행했습니다. 데비안 Jessie 실행

답변1

모든 kill syscall을 기록하려면 auditd를 사용하십시오. -S kill audit.rules 파일에 있습니다. 보다특정 SYSCALL을 모니터링하기 위해 감사를 사용하는 방법은 무엇입니까?. 로그 항목에는 모든 킬의 pid, uid 및 exe가 포함되며 httpd가 종료되기 직전에 해당 항목을 찾으십시오.

나는 이것이 올바르게 다시 시작되지 않는 로그 회전 스크립트라고 추측합니다.

답변2

잡힌 SIGTERM

이는 시스템이 Apache에 종료 명령을 보내고 있음을 의미합니다. Apache를 중지/다시 시작하는 Rogue cron 작업을 찾기 시작하거나 sar로그를 조사하여 리소스 문제가 있는지 확인하기 시작합니다. 메모리 문제가 발생하면 서버는 활성 상태를 유지하기 위해 자동으로 프로세스를 종료합니다. Apache는 일반적으로 메모리 문제에서 이와 같이 종료되는 것 중 하나입니다.

관련 정보