Почему httpd не перезапустится после простого изменения? - PullRequest
0 голосов
/ 05 января 2019

Oracle Linux 7.2

Я обновил сертификат SSL для определенного домена в файле httpd.conf. Затем я выполнил 'httpd restart службы sudo', и она зависла в течение длительного времени (более минуты), а затем вызвала ошибку. Теперь я не могу перезапустить httpd и не вижу никаких подсказок в 'systemctl status httpd.service' или 'journalctl -xe'.

Вот что я вижу:

[oracle@secure-web-server-dvl ~]$ sudo service httpd start
Redirecting to /bin/systemctl start  httpd.service
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
[oracle@secure-web-server-dvl ~]$ systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2019-01-04 16:22:31 EST; 37s ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 3299 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
  Process: 3297 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 3297 (code=exited, status=1/FAILURE)

Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: Starting The Apache HTTP Server...
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com kill[3299]: kill: cannot find process ""
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: httpd.service: control process exited, code=exited status=1
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: Failed to start The Apache HTTP Server.
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: Unit httpd.service entered failed state.
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: httpd.service failed.
[oracle@secure-web-server-dvl ~]$ journalctl -xe
-- Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
--
-- A new session with the ID 1 has been created for the user oracle.
--
-- The leading process of the session is 3259.
Jan 04 16:22:15 secure-web-server-dvl.nitssolutions.com systemd[1]: Started Session 1 of user oracle.
-- Subject: Unit session-1.scope has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit session-1.scope has finished starting up.
--
-- The start-up result is done.
Jan 04 16:22:15 secure-web-server-dvl.nitssolutions.com systemd[1]: Starting Session 1 of user oracle.
-- Subject: Unit session-1.scope has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit session-1.scope has begun starting up.
Jan 04 16:22:15 secure-web-server-dvl.nitssolutions.com sshd[3259]: pam_unix(sshd:session): session opened for user oracle by (uid=0)
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com sudo[3281]:   oracle : TTY=pts/0 ; PWD=/home/oracle ; USER=root ; COMMAND=/sbin/service httpd st
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com polkitd[618]: Registered Authentication Agent for unix-process:3282:11555 (system bus name :1.14
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has begun starting up.
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com kill[3299]: kill: cannot find process ""
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: httpd.service: control process exited, code=exited status=1
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit httpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has failed.
--
-- The result is failed.
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: Unit httpd.service entered failed state.
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com systemd[1]: httpd.service failed.
Jan 04 16:22:31 secure-web-server-dvl.nitssolutions.com polkitd[618]: Unregistered Authentication Agent for unix-process:3282:11555 (system bus name :1.

Помощь

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Хорошо, я понял это. Срок действия нашего SSL-сертификата истек, поэтому я обновил его. Когда я заменил сертификат в различных разделах VirtualHost файла httpd.conf, я забыл также заменить ключ для сертификата SSL. Это вызвало проблему. Когда я вернулся и обновил ключи для соответствующего сертификата SSL, Apache запустился.

Я думаю, это ошибка, что когда это происходит, в сообщениях об ошибках не остается следов первопричины. Мне повезло понять это относительно быстро.

0 голосов
/ 05 января 2019

Должен быть процесс (например, веб-запрос, который все еще обрабатывается), подключенный к httpd, который заставляет его не перезапускаться. В вашем сообщении об ошибке я вижу, что процесс с идентификатором 3299 пытается завершиться, но не работает. Проверьте, запущен ли этот процесс с использованием

ps -ef | grep 3299 

или используя

ps -ef| grep apache

См. man ps

Это покажет вам руководство для просмотра снимка текущих процессов

Если вы обнаружите, что процесс все еще выполняется, вы можете убить его вручную, используя команду

kill -9 3299

Использование флага -9 не позволит любому процессу заблокировать уничтожение.

См. Человек убил

Это позволит вам снова запустить службу httpd.

ВНИМАНИЕ: Уничтожение обработки вручную может повредить файлы конфигурации. Сначала сделайте резервную копию ваших файлов конфигурации для вашего сервера apache / httpd!

Это решение немного неортодоксально, но, в крайнем случае, иногда вам нужно вручную убить блокируемый процесс румян.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...