L'avvio di Apache come servizio si chiude con SIGWINCH


12

Durante l'esecuzione service apache startvedo nel file di registro questa voce:

[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

e il servizio apachenon si avvia? Posso trovare in internet cosa SIGWINCHsignifica [ Window size change] ma in questo caso non mi aiuta molto.

Il file /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

In esecuzione su SLES 12 SP1. Ho compilato Apache da solo. L'avvio con apachectl -k startfunziona perfettamente e posso accedere ed eseguire il codice PHP.

La mia domanda: cosa sto facendo di sbagliato che il apacheservizio non si avvia. L'ho abilitato con systemctl enable apache. Questo è stato l'output:

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'

Come sono stati SIGWINCHresi fatali? L'azione predefinita è di scartare il segnale.
thrig

Risposte:


2

systemdsta istruendo Apache con graceful-stopcui fermarsi , che genera un SIGWINCHsegnale, e quindi il registro caught SIGWINCH, shutting down gracefully. (il SIGWINCHsegnale è (ab) utilizzato da Apache)

IMO, c'è la possibilità di un altro errore, inclusi errori di configurazione, che lo fanno arrestare e stai osservando i sintomi correlati che sono comportamenti normali.

Consiglierei di consultare i log degli errori di Apache, di solito per impostazione predefinita in SLES nella directory /var/log/apache2.


1

Ho riscontrato un problema simile riportato su RedHat . Chiuso con lo stato "NOTABUG". Alla fine riconosciuto come configurazione errata.

img # 1 1


img # 2 2


img # 3 3


AGGIORNARE

Ho riscontrato un altro problema simile riportato su serverfault . E un altro nella risposta ad esso, nell'immagine qui sotto.

img 1/1inserisci qui la descrizione dell'immagine


-DFOREGROUNDnon aiuta nel mio caso. Apache inizia ma non torna indietro servicee quindi si servicelamentaapache2.service start operation timed out. Terminating.
Peter VARGA

Hai letto il thread nel link?

1
Ho rinunciato. Capisco la situazione ma non ho idea di come risolverlo. Ho scoperto che quando rimuovo ExecReload=da /usr/lib/systemd/system/apache2.serviceallora SIGWINCHnon viene inviato ma poi Apache non si avvia - nessun messaggio di errore nel registro, niente. Si chiude immediatamente quando è stato avviato. Ho implementato ora l'hack che eseguo apachectl -k startcome cron job all'avvio del sistema. Posso riavviare Apache con apachectl -k restart. Ci proverò più tardi; forse ho alcune nuove idee.
Peter VARGA

Ne ho trovato un altro, diverso. Vedi aggiornamento

0

Da un commento sulla segnalazione di bug di Red Hat collegata alla risposta di Tomasz :

Sembra che tu debba eseguire 00-systemd.conf se vuoi che systemd riconosca che httpd è stato avviato correttamente.

Ho eseguito questo e ha funzionato:

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

Sono su Amazon Linux 2 (probabilmente funzionerà anche su RHEL / Centos 7).


Grazie per aver dato credito, ma ... dove l'hai preso?
G-Man dice "Ripristina Monica" il

@ G-Man ho modificato questa risposta per attribuire correttamente quella citazione.
Anthony Geoghegan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.