Apache lancé; Cependant, il indique que ce n'est pas le cas et ne pas redémarrer

Apache lancé; Cependant, il indique que ce n'est pas le cas et ne pas redémarrer.

# /etc/init.d/httpd status
httpd.worker is stopped

# /usr/sbin/lsof -iTCP:80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd.wor 1169 root 3u IPv6 2974 TCP *:http (LISTEN)
httpd.wor 1211 daemon 3u IPv6 2974 TCP *:http (LISTEN)
httpd.wor 1213 daemon 3u IPv6 2974 TCP *:http (LISTEN)
httpd.wor 1215 daemon 3u IPv6 2974 TCP *:http (LISTEN)
httpd.wor 1352 daemon 3u IPv6 2974 TCP *:http (LISTEN)

#/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: [Wed Mar 24 10:33:51 2010] [warn] module proxy_ajp_module is already loaded, skipping
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]

OS: Linux DISTRO: CENTOS 5

Pas de redémarrage du serveur ou du meurtre apache Et son lancement.

Il y a des idées, ce qui cause cette incohérence?
Invité:

Dominique

Confirmation de:

D'habitude

init.d

Les scripts utilisent des fichiers de stockage PID des démons courants, tels que

/var/run/httpd.pid

ou quelque chose de similaire. Peut arriver afin que le script empêche le mauvais PID, soit obsolète PID, Ou un problème avec les droits d'accès est apparu et le script ne peut pas créer d'abord de fichier.

Emilie

Confirmation de:

Je suppose que vous avez un fichier obsolète PID du lancement précédent Apache. Je n'ai pas accès au système CentOS, Mais sur mon ordinateur avec Fedora 11 Ce fichier est dans /var/run/httpd/httpd.pid - Vous pouvez vérifier votre emplacement en recherchant une demande de demande. «pidfile» dans /etc/init.d / httpd (Je suppose que vous utilisez une version Apache, établi RPM; Si non et vous avez apache dans / usr / local / apache2 ou similaire, fichier PID situé dans / usr / local / apache2 / logs).

Arrêter Apache, Supprimer le fichier obsolète PID, Puis redémarrez, et tout ira bien.

Hannah

Confirmation de:

Déposer init.d représente généralement un script shell - probablement il cause

apachectl

Pour démarrer et arrêter le processus. Vérifiez quelle commande il envoie pour arrêter le processus et voir ce qui se passe si vous essayez d'exécuter une commande utilisée directement, sans fichier init.d.

Si cela ne fonctionne toujours pas, vérifiez vos journaux d'erreur de serveur Web pour voir s'il y a quelque chose d'utile là-bas.

Pour le débogage, vous pouvez également essayer d'envoyer avec

apachectl graceful

équipe - Il redémarrera la configuration et redémarrera les processus de fille sans arrêter le processus principal. (Le problème est que cela signifie qu'il existe plusieurs changements de configuration qui ne prendront pas effet, mais si vous ne configurez pas, cela ne comportera probablement pas)

Hannah

Confirmation de:

Je suppose que vous avez deux scénarios d'initialisation différents qui courent apache, Et que différents scénarios d'initialisation utilisent différents fichiers PID.

Que se passe-t-il si vous faites

killall -9 httpd

puis courir Apache de l'autre côté

/etc/init.d/httpd start

?

Pour répondre aux questions, connectez-vous ou registre