Le démarrage d'Apache à la fin du service avec SIGWINCH

12

Lors de l'exécution, service apache startje vois dans le fichier journal cette entrée:

[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

et le service apachene démarre pas? Je peux trouver sur internet ce que SIGWINCHsignifie [ Window size change] mais cela ne m'aide pas vraiment dans ce cas.

Le dossier /etc/systemd/system/apache.service:

[Unit]
Description=The Apache Webserver [FaF Compiled]
After=network.target nss-lookup.target time-sync.target
[email protected] 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

Fonctionnant sur SLES 12 SP1. J'ai compilé Apache par moi-même. Le apachectl -k startdémarrer avec fonctionne parfaitement et je peux accéder et exécuter le code PHP.

Ma question: qu'est-ce que je fais de mal que le apacheservice ne démarre pas. Je l'ai activé avec systemctl enable apache. Ce fut la sortie:

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'
Peter VARGA
la source
Comment ont SIGWINCHété tués? L'action par défaut consiste à rejeter le signal.
thrig

Réponses:

2

systemddemande à Apache de s'arrêter graceful-stop, ce qui génère un SIGWINCHsignal, et donc le journal caught SIGWINCH, shutting down gracefully. (le SIGWINCHsignal est (ab) utilisé par Apache)

OMI, il y a une possibilité d'une autre erreur, y compris des erreurs de configuration, de le faire arrêter, et vous regardez des symptômes associés qui sont un comportement normal.

Je recommanderais de parcourir vos journaux d'erreurs Apache, généralement par défaut dans SLES sous le répertoire /var/log/apache2.

Rui F Ribeiro
la source
1

J'ai trouvé un problème similaire signalé sur RedHat . Fermé avec un statut "NOTABUG". Finalement reconnu comme une mauvaise configuration.

img # 1 1


img # 2 2


img # 3 3


METTRE À JOUR

J'ai trouvé un autre problème similaire signalé sur serverfault . Et un de plus dans la réponse, dans l'image ci-dessous.

img 1/1entrez la description de l'image ici


la source
-DFOREGROUNDn'aide pas dans mon cas. Apache démarre mais il ne revient pas serviceet se serviceplaint doncapache2.service start operation timed out. Terminating.
Peter VARGA
Avez-vous lu le fil dans le lien?
1
J'ai abandonné. Je comprends la situation mais je ne sais pas comment y remédier. J'ai découvert quand je retire ExecReload=de /usr/lib/systemd/system/apache2.servicepuis SIGWINCHn'est pas envoyé mais Apache ne démarre pas - aucun message d'erreur dans le journal, rien. Il se ferme immédiatement lorsqu'il a été démarré. J'ai implémenté maintenant le hack que j'exécute en apachectl -k starttant que tâche cron au démarrage du système. Je peux redémarrer Apache avec apachectl -k restart. Je vais essayer plus tard; peut-être que je reçois de nouvelles idées.
Peter VARGA
J'en ai trouvé un de plus, différent. Voir mise à jour.
0

D'après un commentaire sur le rapport de bogue Red Hat lié à la réponse de Tomasz :

Il semble que vous devez exécuter 00-systemd.conf si vous voulez que systemd reconnaisse que httpd a démarré avec succès.

J'ai couru cela et cela a fonctionné:

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

Je suis sur Amazon Linux 2 (fonctionnera probablement aussi sur RHEL / Centos 7).

luds
la source
Merci d'avoir donné du crédit, mais… où avez-vous obtenu cela?
G-Man dit `` Réintègre Monica ''
@ G-Man J'ai édité cette réponse pour attribuer correctement cette citation.
Anthony Geoghegan