Apache가 매주 일요일 아침에 실행을 중지하는 이유를 알아보세요.

Apache가 매주 일요일 아침에 실행을 중지하는 이유를 알아보세요.

Ubuntu 16.04.4 LTS에 Apache를 설정했습니다.

어떤 이유에서인지 매주 일요일 아침 거의 같은 시간에 Apache가 실행을 멈춥니다.

중지되면 실행하여 systemctl status apache2다음을 확인합니다.

Mar 04 06:25:24 xxxxxx apache2[11178]:  * Stopping Apache httpd web server apache2

그래서 어떻게 든 Apache가 중지되었습니다. 중지되면 에 아무것도 없습니다 /var/log/apache2/error.log. Apache를 다시 시작하면 다음이 표시됩니다.

[Sun Mar 04 09:44:10.875444 2018] [core:warn] [pid 22442:tid 140355746498432] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?

/var/log/syslogApache가 다시 로드된 후(ProFTPD) 다음 위치에서 중지된 것으로 보입니다 06:25:24.

Mar  4 06:25:11 xxxxxx systemd[1]: Reloading LSB: Apache2 web server.
Mar  4 06:25:11 xxxxxx apache2[11014]:  * Reloading Apache httpd web server apache2
Mar  4 06:25:11 xxxxxx apache2[11014]:  *
Mar  4 06:25:11 xxxxxx systemd[1]: Reloaded LSB: Apache2 web server.
Mar  4 06:25:18 xxxxxx systemd[1]: Stopping LSB: Starts ProFTPD daemon...
Mar  4 06:25:18 xxxxxx proftpd[11083]:  * Stopping ftp server proftpd
Mar  4 06:25:18 xxxxxx proftpd[11083]:    ...done.
Mar  4 06:25:18 xxxxxx systemd[1]: Stopped LSB: Starts ProFTPD daemon.
Mar  4 06:25:18 xxxxxx systemd[1]: Starting LSB: Starts ProFTPD daemon...
Mar  4 06:25:18 xxxxxx proftpd[11094]:  * Starting ftp server proftpd
Mar  4 06:25:18 xxxxxx proftpd[11094]: 2018-03-04 06:25:18,666 xxxxxx proftpd[11104]: mod_dso/0.5: module 'mod_tls.c' already loaded
Mar  4 06:25:18 xxxxxx proftpd[11094]: 2018-03-04 06:25:18,667 xxxxxx proftpd[11104]: mod_dso/0.5: module 'mod_sftp.c' already loaded
Mar  4 06:25:19 xxxxxx proftpd[11094]:    ...done.
Mar  4 06:25:19 xxxxxx systemd[1]: Started LSB: Starts ProFTPD daemon.
Mar  4 06:25:24 xxxxxx apache2[11178]:  * Stopping Apache httpd web server apache2
Mar  4 06:25:24 xxxxxx apache2[11178]:  *

Apache가 중지되는 이유 또는 Apache를 중지하는 프로세스(어떤 이유로)를 확인하여 다시 발생하지 않도록 하려면 어떻게 해야 합니까?

답변1

문제는 logrotate로그를 회전할 때 Apache를 중지시키는 으로 인해 발생했습니다.

를 편집하고 로 /etc/logrotate.d/apache2변경하여 문제가 해결되었습니다 .reloadgraceful

원래의:

postrotate
            if /etc/init.d/apache2 status > /dev/null ; then \
                /etc/init.d/apache2 reload > /dev/null; \
            fi;
endscript

편집됨:

postrotate
            if /etc/init.d/apache2 status > /dev/null ; then \
                /etc/init.d/apache2 graceful > /dev/null; \
            fi;
endscript

관련 정보