W moim dzienniku błędów otrzymuję
[emerg] 10619 # 0: zduplikowany serwer domyślny dla 0.0.0.0:80 w /etc/nginx/sites-enabled/mysite.com:4
w linii 4 mam:
server_name mysite.com www.mysite.com;
Jakieś sugestie?
W moim dzienniku błędów otrzymuję
[emerg] 10619 # 0: zduplikowany serwer domyślny dla 0.0.0.0:80 w /etc/nginx/sites-enabled/mysite.com:4
w linii 4 mam:
server_name mysite.com www.mysite.com;
Jakieś sugestie?
Odpowiedzi:
Prawdopodobnie masz inne pliki (takie jak defaultkonfiguracja) znajdujące się w, /etc/nginx/sites-enabledktóre należy usunąć.
Ten problem jest spowodowany powtórzeniem default_serverparametru dostarczonego do co najmniej jednej listendyrektywy w plikach. Prawdopodobnie zauważysz, że ta sprzeczna dyrektywa brzmi podobnie do:
listen 80 default_server;
Jako dokumentacja podstawowego modułu nginx dlalisten stanów:
default_serverParametr, jeśli występuje, spowoduje, że serwer, aby stać się domyślnym serwerem dla określonejaddress:portpary. Jeśli żadna z dyrektyw nie madefault_serverparametru, to pierwszy serwer zaddress:portparą będzie domyślnym serwerem dla tej pary.
Oznacza to, że musi istnieć inny plik lub serverblok zdefiniowany w twojej konfiguracji z default_serverustawieniem dla portu 80. nginx napotyka to najpierw przed twoim mysite.complikiem, więc spróbuj usunąć lub dostosować tę inną konfigurację.
Jeśli masz problem ze znalezieniem miejsca, w którym te dyrektywy i parametry są ustawione, spróbuj wyszukać:
grep -R default_server /etc/nginx
default_serversłowo kluczowe, które może występować tylko w jednej konfiguracji - możesz zdefiniować wiele witryn za pomocąlisten 80;
default_serverparametr może pojawić się tylko raz dla każdej address:portpary. Oznacza to, że jest możliwe (i powszechne) default_serverwystępowanie wiele razy w ogólnej konfiguracji nginx, ale dotyczy to różnych adresów IP / portów.
OS Debian 10 + nginx. W moim przypadku odłączyłem „domyślną” stronę jako:
Wykonaj to na terminalu, aby zobaczyć sprzeczne konfiguracje nasłuchujące na tym samym porcie:
grep -R default_server /etc/nginx
Jeśli korzystasz z Digital Ocean, oznacza to, że musisz przejść do / etc / nginx / sites-enabled /, a następnie USUNĄĆ za pomocą rm -R digitalocean i default
Naprawiło to dla mnie!
rm -R previousServerFolderNamenastępnie zrobić program, sudo service nginx restartaby systemctl status nginxprogram był „aktywny (działający)”
server {}powinien mieć własnąlistendyrektywę.