J'ai une boîte vagabonde qui fonctionne bien depuis quelque temps et aujourd'hui, pour une raison quelconque, le message suivant s'affiche lorsque j'essaie de redémarrer nginx.
nginx: [emerg] Host not found in upstream "www.myclass.com.192.168.33.10.xip.io" in /etc/nginx/conf.d/myclass.com.conf:19
nginx: configuration file /etc/nginx/nginx.conf test failed
Je n'ai rien changé moi-même à ma connaissance (à moins que Windows Update n'ait fait quelque chose d'étrange)
Quelqu'un peut-il suggérer comment rétablir le fonctionnement de nginx et me permettre de redémarrer le service nginx - il semblerait que je ne puisse pas interroger l'hôte ... des idées pourquoi?
Voici mon fichier de configuration nginx: fichier de configuration nginx
--Update--Exécutez ce qui suit pour vérifier ce qui est sur le port 80 .. (après avoir lu un autre article similaire) et je peux voir que le démon varnish est sur le port 80 .. est-ce la cause du problème ?? Tout conseil serait le bienvenu car je suis novice dans ce domaine
Sudo netstat -tlnp | grep 80
Mon fichier myclass.com.conf
server {
listen 80;
server_name class.com.* www.class.com.*;
root /vagrant/www.class.com/public_html;
index index.php;
access_log /vagrant/log/class.com.access.log;
error_log /vagrant/log/class.com.error.log error;
charset utf-8;
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location /socket.io {
proxy_pass http://www.class.com.192.168.33.10.xip.io:8055;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
}
location / {
try_files $uri $uri/ @handler;
expires 30d;
}
location /. {
return 404;
}
location @handler {
rewrite / /index.php last;
}
location ~ .php/ {
rewrite ^(.*.php)/ $1 last;
}
location ~ \.php$ {
try_files $uri =404;
expires off;
fastcgi_read_timeout 900;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param CLASS_ENVIRONMENT LYLE;
include /etc/nginx/fastcgi_params;
}
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain application/xml text/css text/js application/x-javascript;
sendfile off;
}
Tout ce dont vous avez besoin est de mettre un résolveur capable de résoudre un tel nom de domaine:
resolver 8.8.8.8 valid=300s;
resolver_timeout 10s;
Google DNS (8.8.8.8) peut le résoudre, mais il se résout en une adresse interne appartenant à la classe de réseau C.
$ Dig @8.8.8.8 www.class.com.192.168.33.10.xip.io
;; ANSWER SECTION:
www.class.com.192.168.33.10.xip.io. 299 IN A 192.168.33.10
Votre problème vient de cette ligne:
proxy_pass http://www.class.com.192.168.33.10.xip.io:8055;
Le serveur a probablement des difficultés à résoudre ce nom DNS. Vous pouvez également consulter https://serverfault.com/questions/341810/nginx-failing-to-resolve-nom-noms-sur-reload-even-if-they-do-resolve-by-the
Un peu tard peut-être, mais il existe une solution simple. Changement
www.class.com.192.168.33.10.xip.io
dans
www.class.com.192.168.33.10.nip.io
et il devrait résoudre sur n'importe quel DNS.