Запуск 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сделаны смертельными? Действие по умолчанию - сбросить сигнал.
thrig

Ответы:


2

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

ИМО, есть вероятность другой ошибки, в том числе ошибок конфигурации, остановка, и вы смотрите на связанные симптомы, которые являются нормальным поведением.

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


1

Я обнаружил похожую проблему на RedHat . Закрыто со статусом «НОТАБАГ». В конце концов признан неправильным конфигом.

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.