Uruchamianie Apache po zakończeniu usługi przez SIGWINCH


12

Podczas działania service apache startwidzę w pliku dziennika ten wpis:

[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

a usługa apachesię nie uruchamia? Mogę znaleźć w Internecie, co SIGWINCHoznacza [ Window size change], ale tak naprawdę nie pomaga mi to w tym przypadku.

Plik /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

Działa na SLES 12 SP1. Sam skompilowałem Apache. Uruchomienie go z apachectl -k startdziała idealnie i mogę uzyskać dostęp i uruchomić kod PHP.

Moje pytanie: co robię źle, że apacheusługa się nie uruchamia. Włączyłem to za pomocą systemctl enable apache. To był wynik:

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'

Jak SIGWINCHzginęło? Domyślną czynnością jest odrzucenie sygnału.
thrig

Odpowiedzi:


2

systemdinstruuje Apache, aby przestał graceful-stop, który generuje SIGWINCHsygnał, a tym samym log caught SIGWINCH, shutting down gracefully. ( SIGWINCHsygnał jest (ab) używany przez Apache)

IMO, istnieje możliwość wystąpienia innego błędu, w tym błędów konfiguracji, powodując, że przestaje on działać, a ty patrzysz na powiązane objawy, które są normalnym zachowaniem.

Polecam przejrzenie dzienników błędów Apache, zwykle domyślnie w SLES w katalogu /var/log/apache2.


1

Znalazłem podobny problem zgłoszony na RedHat . Zamknięte ze statusem „NOTABUG”. Ostatecznie rozpoznany jako niewłaściwa konfiguracja.

img # 1 1


img # 2 2)


img # 3 3)


AKTUALIZACJA

Znalazłem jeszcze jeden podobny problem zgłoszony podczas awarii serwera . I jeszcze jedno w odpowiedzi na to na poniższym obrazku.

img 1/1wprowadź opis zdjęcia tutaj


-DFOREGROUNDnie pomaga w moim przypadku. Apache zaczyna się, ale nie wraca servicei dlatego servicenarzekaapache2.service start operation timed out. Terminating.
Peter VARGA

Czy czytałeś wątek w linku?

1
Poddałem się. Rozumiem sytuację, ale nie mam pojęcia, jak to naprawić. I okazało się, kiedy mogę usunąć ExecReload=z /usr/lib/systemd/system/apache2.serviceczym SIGWINCHnie jest wysyłane ale następnie Apache nie uruchamia się - nie komunikat o błędzie w dzienniku, nic. Po prostu natychmiast kończy pracę po uruchomieniu. Zaimplementowałem teraz hack, który uruchamiam apachectl -k startjako zadanie crona podczas uruchamiania systemu. Mogę zrestartować Apache za pomocą apachectl -k restart. Spróbuję później; może mam jakieś nowe pomysły.
Peter VARGA,

Znalazłem jeszcze jedną, inną. Zobacz aktualizację.

0

Z komentarza do raportu o błędach Red Hat połączonego z odpowiedzią Tomasza :

Wygląda na to, że musisz uruchomić 00-systemd.conf, jeśli chcesz, aby systemd rozpoznał, że httpd uruchomił się pomyślnie.

Uruchomiłem to i zadziałało:

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

Jestem na Amazon Linux 2 (prawdopodobnie będzie również działać na RHEL / Centos 7).


Dzięki za udzielenie kredytu, ale… skąd to masz?
G-Man mówi „Przywróć Monikę”

@ G-Man Zedytowałem tę odpowiedź, aby poprawnie przypisać cytat.
Anthony Geoghegan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.