erreur nginx, il n'a pas ouvert

9

s'il vous plaît nginx dans mon serveur a commencé s'il vous plaît suivez-moi

root@s45-****:/home/arabico# nmap 45.****

PORT   STATE SERVICE
22/tcp open  ssh
5/tcp open  smtp
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
root@s45-****:/home/arabico# sudo service apache2 stop
 * Stopping web server apache2                                                      * 
root@s45-****:/home/arabico# nmap 45.****

Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-05 19:33 MST

PORT   STATE SERVICE
22/tcp open  ssh
25/tcp open  smtp

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
root@s45-***:/home/arabico# sudo service nginx restart
 * Restarting nginx nginx          
          [fail] 


root@s45-***:/home/arabico# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: configuration file /etc/nginx/nginx.conf test failed

root@s45***:/home/arabico# sudo nginx
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

comment le laisser commencer s'il vous plait

user14576
la source
Que demandez-vous exactement?
spacegeek224
ça n'a pas marché comment le laisser commencer
user14576

Réponses:

11
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

D'après le message d'erreur, il semble que ipv6 soit désactivé sur votre serveur. Modifiez la configuration du serveur par défaut nginx et changez-la pour écouter uniquement sur ipv4 ou activer ipv6.

listen 80 default_server;
# comment to disable ipv6
# listen [::]:80 default_server;
rêveur
la source
7

juste j'ai supprimé cette ligne

écouter [::]: 80 default_server ipv6only = on;

de

/ etc / nginx / sites-available / default et cela fonctionne: D

user14576
la source
J'ai fait la même chose et ça marche aussi. Mais quelqu'un peut-il expliquer pourquoi la configuration par défaut n'a pas fonctionné?
Loredra L
0

Merci d'avoir mentionné ipv6.

Dans mon cas, j'ai obtenu une ligne dans nginx conf de

proxy_pass http://localhost:3028/;

Le problème s'est produit lorsque j'ai désactivé ipv6 dans la configuration du noyau. Réactiver ipv6 peut résoudre le problème, mais ce n'est pas ce que je veux.

la solution est supprimer

::1     localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

dans /etc/hosts.

donc l'hôte local suivra toujours la cible ipv4 par défaut, qui est 127.0.0.1.

La simple suppression de la ::1ligne pourrait suffire. Comme ipv6 est totalement désactivé, je les supprimerais tous.

La modification de la localhostconfiguration in nginx 127.0.0.1peut également résoudre ce problème.

aGuegu
la source