Запуск Apache, коли сервіс закінчується з SIGWINCH


12

Під час запуску service apache startя бачу у файлі журналу цей запис:

[mpm_event:notice] [pid 1906:tid XXX] AH00489: Apache/2.4.23 (Unix)
                         OpenSSL/1.0.2g PHP/7.0.9 configured -- resuming normal operations
[core:notice] [pid 1906:tid XXX] AH00094: Command line: '/usr/sbin/httpd'
[mpm_event:notice] [pid 1906:tid XXX] AH00492: caught SIGWINCH, shutting down gracefully

а послуга apacheне запускається? Я можу знайти в Інтернеті, що SIGWINCHозначає [ Window size change], але це мені не дуже допомагає в цьому випадку.

Файл /etc/systemd/system/apache.service:

[Unit]
Description=The Apache Webserver [FaF Compiled]
After=network.target nss-lookup.target time-sync.target
Before=getty@tty1.service plymouth-quit.service xdm.service

[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/httpd -k start
ExecReload=/usr/sbin/httpd -k graceful
ExecStop=/usr/sbin/httpd -k graceful-stop
KillMode=mixed

[Install]
WantedBy=multi-user.target
Alias=httpd.service apache.service

Працює на SLES 12 SP1. Я склав Apache самостійно. Початок apachectl -k startроботи з ідеально працює, і я можу отримати доступ та запустити PHP-код.

Моє запитання: Що я роблю не так, що apacheпослуга не запускається. Я це ввімкнув за допомогою systemctl enable apache. Це був вихід:

ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/httpd.service'
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/apache.service'
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/multi-user.target.wants/apache2.service'

Як SIGWINCHзробили смертельний результат? Дія за замовчуванням - відкинути сигнал.
тригст

Відповіді:


2

systemdдоручає Apache зупинитися graceful-stop, що генерує SIGWINCHсигнал, а значить, і журнал caught SIGWINCH, shutting down gracefully. ( SIGWINCHсигнал (ab) використовується Apache)

IMO, існує ймовірність іншої помилки, включаючи помилки конфігурації, змушуючи її зупинятися, і ви переглядаєте супутні симптоми, які є нормальною поведінкою.

Я рекомендую ознайомитись з вашими журналами помилок Apache, як правило, за замовчуванням у SLES під каталогом /var/log/apache2.


1

Я виявив подібну проблему, про яку повідомляли в RedHat . Закрито статусом "NOTABUG". Врешті-решт визнається неправильним конфігурацією.

img №1 1


img №2 2


img №3 3


ОНОВЛЕННЯ

Я знайшов ще одну подібну проблему, повідомлену на сервері за замовчуванням . І ще один у відповіді на нього, на зображенні нижче.

img 1/1введіть тут опис зображення


-DFOREGROUNDне допомагає в моєму випадку. Apache починається, але він не повертається назад serviceі тому serviceскаржиться наapache2.service start operation timed out. Terminating.
Peter VARGA

Ви читали нитку у посиланні?

1
Я здався. Я розумію ситуацію, але не маю поняття, як її виправити. Я дізнався, коли я видаляю ExecReload=з того /usr/lib/systemd/system/apache2.serviceчасу SIGWINCH, не надсилається, але тоді Apache не запускається - повідомлення про помилку в журналі, нічого. Він просто негайно припиняється, коли це було запущено. Зараз я реалізував хак, який я запускаю apachectl -k startяк роботу cron при запуску системи. Я можу перезапустити Apache за допомогою apachectl -k restart. Я спробую пізніше; можливо, я отримую нові ідеї.
Пітер ВАРГА

Я знайшов ще одного, іншого. Дивіться оновлення.

0

З коментаря до звіту про помилку Red Hat, пов’язаного з відповіддю Томаша :

Схоже, вам потрібно запустити 00-systemd.conf, якщо ви хочете, щоб systemd визнав, що httpd почався успішно.

Я запустив це, і це спрацювало:

ln -sr /etc/httpd/conf.modules.d/00-systemd.conf /etc/httpd/conf.d/00-systemd.conf
systemctl restart httpd

Я на Amazon Linux 2 (ймовірно, також працюватиме на RHEL / Centos 7).


Дякуємо, що надали кредит, але ... де ти це взяв?
G-Man каже: "Відновіть Моніку"

@ G-Man Я відредагував цю відповідь, щоб правильно віднести цю цитату.
Ентоні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.