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 default
konfiguracja) znajdujące się w, /etc/nginx/sites-enabled
które należy usunąć.
Ten problem jest spowodowany powtórzeniem default_server
parametru dostarczonego do co najmniej jednej listen
dyrektywy 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_server
Parametr, jeśli występuje, spowoduje, że serwer, aby stać się domyślnym serwerem dla określonejaddress:port
pary. Jeśli żadna z dyrektyw nie madefault_server
parametru, to pierwszy serwer zaddress:port
parą będzie domyślnym serwerem dla tej pary.
Oznacza to, że musi istnieć inny plik lub server
blok zdefiniowany w twojej konfiguracji z default_server
ustawieniem dla portu 80. nginx napotyka to najpierw przed twoim mysite.com
plikiem, 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_server
słowo kluczowe, które może występować tylko w jednej konfiguracji - możesz zdefiniować wiele witryn za pomocąlisten 80;
default_server
parametr może pojawić się tylko raz dla każdej address:port
pary. Oznacza to, że jest możliwe (i powszechne) default_server
wystę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 previousServerFolderName
następnie zrobić program, sudo service nginx restart
aby systemctl status nginx
program był „aktywny (działający)”
server {}
powinien mieć własnąlisten
dyrektywę.