Publiez votre configuration complète. Chacun server {}devrait avoir sa propre listendirective.
Marki555
Si vous éditiez quelque chose dans les sites activés et que la connexion se fermait de manière inattendue, vous pouvez terminer avec un fichier de sauvegarde automatique à partir de l'éditeur de texte, de sorte que vous vous terminerez avec presque toutes les configurations dupliquées, supprimez simplement ce fichier (pour nano file.save)
LuisF
Réponses:
197
Vous avez probablement d'autres fichiers (tels que la defaultconfiguration) /etc/nginx/sites-enabledqui doivent être supprimés.
Ce problème est dû à une répétition du default_serverparamètre fourni à une ou plusieurs listendirectives dans vos fichiers. Vous trouverez probablement que cette directive contradictoire lit quelque chose de similaire à:
Le default_serverparamètre, s'il est présent, fera que le serveur deviendra le serveur par défaut pour la address:portpaire spécifiée . Si aucune des directives n'a le default_serverparamètre, le premier serveur avec la address:portpaire sera le serveur par défaut pour cette paire.
Cela signifie qu'il doit y avoir un autre fichier ou serverbloc défini dans votre configuration avec default_serverset pour le port 80. nginx le rencontre avant votre mysite.comfichier alors essayez de supprimer ou d'ajuster cette autre configuration.
Si vous avez du mal à trouver où ces directives et paramètres sont définis, essayez une recherche comme celle-ci:
Pour être clair, c'est le default_servermot clé qui ne peut apparaître que dans une seule configuration - vous pouvez définir plusieurs sites aveclisten 80;
Eborbob
1
Merci, vous m'avez aidé. Dans mon cas, j'ai trouvé un doublon dans /etc/nginx/sites-enabled/default.save
Andrew Grow
1
Suite au commentaire de @ Eborbob, le default_serverparamètre ne peut apparaître qu'une seule fois pour chaque address:portpaire. Cela signifie qu'il est possible (et courant) d'avoir des default_serverprésentations plusieurs fois dans une configuration globale de nginx, mais en s'appliquant à différentes adresses IP / ports.
davidjb
2
la commande grep était juste le ticket. ce sont les choses simples, merci
FireDragon
6
OS Debian 10 + nginx. Dans mon cas, j'ai dissocié la page "par défaut" comme suit:
Si vous êtes sur Digital Ocean, cela signifie que vous devez aller dans / etc / nginx / sites-enabled / puis SUPPRIMER en utilisant rm -R digitalocean et default
C'était la réponse simple qui a fonctionné pour moi. Je devais aller dans / etc / nginx / sites-enabled / rm -R previousServerFolderNamepuis faire sudo service nginx restartpour que le systemctl status nginxspectacle "active (en cours)"
server {}
devrait avoir sa proprelisten
directive.Réponses:
Vous avez probablement d'autres fichiers (tels que la
default
configuration)/etc/nginx/sites-enabled
qui doivent être supprimés.Ce problème est dû à une répétition du
default_server
paramètre fourni à une ou plusieurslisten
directives dans vos fichiers. Vous trouverez probablement que cette directive contradictoire lit quelque chose de similaire à:Comme la documentation du module de base nginx pour les
listen
états:Cela signifie qu'il doit y avoir un autre fichier ou
server
bloc défini dans votre configuration avecdefault_server
set pour le port 80. nginx le rencontre avant votremysite.com
fichier alors essayez de supprimer ou d'ajuster cette autre configuration.Si vous avez du mal à trouver où ces directives et paramètres sont définis, essayez une recherche comme celle-ci:
la source
default_server
mot clé qui ne peut apparaître que dans une seule configuration - vous pouvez définir plusieurs sites aveclisten 80;
default_server
paramètre ne peut apparaître qu'une seule fois pour chaqueaddress:port
paire. Cela signifie qu'il est possible (et courant) d'avoir desdefault_server
présentations plusieurs fois dans une configuration globale de nginx, mais en s'appliquant à différentes adresses IP / ports.OS Debian 10 + nginx. Dans mon cas, j'ai dissocié la page "par défaut" comme suit:
la source
Exécutez ceci sur le terminal pour voir les configurations conflictuelles écoutant le même port:
la source
Si vous êtes sur Digital Ocean, cela signifie que vous devez aller dans / etc / nginx / sites-enabled / puis SUPPRIMER en utilisant rm -R digitalocean et default
Il l'a réparé pour moi!
Photo de la console sous Windows 10 utilisant Bitvise
la source
rm -R previousServerFolderName
puis fairesudo service nginx restart
pour que lesystemctl status nginx
spectacle "active (en cours)"