web-dev-qa-db-fra.com

Échec du démarrage d'Apache (impossible d'établir une liaison avec l'adresse 0.0.0.0:80)

Mise à jour: déjà corrigé, il semble que l'un des fichiers de configuration de VirtualHosts était incorrect dans les sites activés.

J'ai Ubuntu 11.10

Lorsque j'exécute la commande pour démarrer Apache2:

Sudo /etc/init.d/Apache2 start

Je reçois le message d'erreur suivant:

Démarrage du serveur Web Apache2
Apache2: impossible de déterminer de manière fiable le nom de domaine complet du serveur, à l'aide de 127.0.1.1 pour ServerName (98) adresse déjà utilisée: make_sock: impossible de se connecter à l'adresse 0.0.0.0:80, aucun sockets d'écoute disponible, fermeture down Impossible d'ouvrir les journaux L'action 'start' a échoué.

J'exécute cette commande pour obtenir le processus utilisant le port 80:

Sudo netstat -ltnp | grep ':80'

Ce qui retourne cette sortie:

tcp6       0      0 :::80                   :::*                    LISTEN      1176/

Pour savoir quel processus est exécuté cette commande:

ps -wlp1176

Cela retourne:

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
5 D    33  1176     1  0  80   0 -     0 exit   ?        00:00:00 Apache2

Mais si j'essaie de tuer le processus:

Sudo kill -9 1176

Cela ne le tue pas, si je lance à nouveau, la commande netstat apparaît toujours à l'écoute et le démarrage d'Apache échoue.

Aucune suggestion?

45
rfc1484

Travaillé pour moi en exécutant cette commande:

fuser -k -n tcp 80
110
StandDuPp

Ce peut être skype ou nginx en utilisant le port 80.

Essayez d’arrêter Skype ou d’exécuter: Sudo /etc/init.d/nginx stop

16

J'ai eu la même erreur, et je veux juste confirmer que courir

    Sudo netstat -ltnp | grep ':80'

m'a aidé à indiquer que le serveur Web Hiawatha était dans la voie d'Apache2.

Supprimer Hiawatha a résolu le problème (Sudo dpkg --purge hiawatha). Serveur Ubuntu 12.04.2.

5
user1004829

J'ai eu le même problème

Pour moi, Apache fonctionnait déjà, mais il fonctionnait mal.

Tuer les processus n'a pas fonctionné, car un démon continuait à le rétablir.

apachectl stop   

résolu le problème.

4
Philip Lowe

Essayez ceci, ça marche pour moi…

Sudo netstat -ltnp | grep ':80'

Cela retournerait ce qui suit:

tcp6 0 0 :::80 :::* LISTEN 1047/Apache2

Ensuite

Sudo kill -9 1047

Ensuite, j'ai pu redémarrer Apache et tout fonctionnait bien.

3
Sam

Ce que je voudrais faire est simplement de vérifier si les éléments suivants sont définis dans votre /etc/Apache2/sites-available/votre-domaine-nom.com.conf

SSLEngine on 
SSLCertificateFile /your/path/to/your-domain.com.crt
SSLCertificateKeyFile /your/path/to/your-domain.com.key
SSLCACertificateFile /your/path/to/your-domain.com.ca-bundle

et il n'y a pas de répertoires mal typés ou quoi que ce soit qui ne serait pas supposé être dans votre fichier .conf. Cela a fonctionné pour moi car le redémarrage et la suppression des processus n’ont pas aidé du tout. Cela n'a pas commencé de toute façon.

1
Mister

Il semble qu'un autre processus utilise le port 80.

$ netstat -anp | grep

par exemple. $ netstat -anp | grep 80

par dessus, vous obtenez le nom du processus. Si vous souhaitez utiliser le port, vous devez arrêter le processus ou modifier le port.

1
Satish Chauhan

Allez dans le gestionnaire de périphériques, sélectionnez "Afficher les périphériques cachés" dans le menu/la vue, allez à "Pilote non Plug-and-Play"/HTTP, double-cliquez dessus pour le désactiver (et désactivez ou manuelz certains services qui en dépendent). Redémarrez et profitez!

1
mk_yo

utiliser soit

Sudo killall httpd

ou

Sudo killall Apache2

vérifier si quelqu'un utilise le port 80

Sudo netstat -tulpn| grep :80

Le redémarrage

Sudo service httpd start

puis redémarrez le serveur.Il m'a fallu une journée entière pour comprendre le problème

enter image description here

1

Cela se produira à cause d'une installation répétée d'Apache ou de l'utilisation du port par un autre service.

Sudo lsof -i | grep "httpd"

Vous trouverez l'ID de processus et le port de service à l'écoute. Puis vérifier

cd /proc/(process id of http)

Puis tuez ce processus en utilisant la commande

kill -9 pid

à présent

Sudo netstat -nltp

tuer à nouveau le processus

syntaxe:-

kill -9 pid

et maintenant démarrez Apache

Sudo ./apachectl start
0
sreeks devan

Je l'ai corrigé en utilisant la procédure ci-dessous. Exécutez la commande ci-dessous en tant qu'utilisateur root.

root# ps aux |grep Apache

Il vous montrera le PID Apache, supprimez-le et redémarrez le serveur Apache.

0
luqman

Vous ne pouvez avoir à l'écoute PORT NUMBER que dans un seul fichier .conf. Ne le mettez pas dans plusieurs fichiers. Essayez-le :)

0
rocketsami