Nel mio registro errori ottengo
[emerg] 10619 # 0: un server predefinito duplicato per 0.0.0.0:80 in /etc/nginx/sites-enabled/mysite.com:4
sulla linea 4 ho:
server_name mysite.com www.mysite.com;
Eventuali suggerimenti?
Nel mio registro errori ottengo
[emerg] 10619 # 0: un server predefinito duplicato per 0.0.0.0:80 in /etc/nginx/sites-enabled/mysite.com:4
sulla linea 4 ho:
server_name mysite.com www.mysite.com;
Eventuali suggerimenti?
Risposte:
Probabilmente hai altri file (come la defaultconfigurazione) /etc/nginx/sites-enabledche devono essere rimossi.
Questo problema è causato da una ripetizione del default_serverparametro fornito a una o più listendirettive nei file. Probabilmente scoprirai che questa direttiva in conflitto legge qualcosa di simile a:
listen 80 default_server;
Come documentazione del modulo principale di nginx per glilisten stati:
Il
default_serverparametro, se presente, farà diventare il server il server predefinito per laaddress:portcoppia specificata . Se nessuna delle direttive ha ildefault_serverparametro, il primo server con laaddress:portcoppia sarà il server predefinito per questa coppia.
Ciò significa che deve esserci un altro file o serverblocco definito nella configurazione con default_serverimpostato per la porta 80. nginx lo rileva prima del mysite.comfile, quindi prova a rimuovere o modificare l'altra configurazione.
Se hai difficoltà a trovare dove sono impostate queste direttive e parametri, prova una ricerca in questo modo:
grep -R default_server /etc/nginx
default_serverparola chiave che può apparire solo in una configurazione - puoi definire più siti conlisten 80;
default_serverparametro può apparire solo una volta per ogni address:portcoppia. Ciò significa che è possibile (e comune) essere default_serverpresenti più volte in una configurazione nginx complessiva, ma applicando a diversi IP / porte.
Sistema operativo Debian 10 + nginx. Nel mio caso, ho scollegato la pagina "predefinita" come:
Eseguilo dal terminale per vedere le configurazioni in conflitto che ascoltano la stessa porta:
grep -R default_server /etc/nginx
Se sei su Digital Ocean questo significa che devi andare su / etc / nginx / sites-enabled / e poi RIMUOVERE usando rm -R digitalocean e default
L'ha risolto per me!
rm -R previousServerFolderNamepoi fare sudo service nginx restartper rendere lo systemctl status nginxspettacolo "attivo (in esecuzione)"
server {}dovrebbe avere la proprialistendirettiva.