Опубликуйте свою полную конфигурацию. У каждого server {}должна быть своя listenдиректива.
Marki555
Если вы что-то редактировали на сайтах с поддержкой и соединение неожиданно закрылось, вы можете закончить с автоматическим сохранением файла из текстового редактора, так что вы закончите с дублированием почти всех конфигураций, просто удалите этот файл (для nano file.save)
LuisF
Ответы:
198
Вероятно, у вас есть другие файлы (например, defaultконфигурация), /etc/nginx/sites-enabledкоторые необходимо удалить.
Эта проблема вызвана повторением default_serverпараметра, указанного в одной или нескольких listenдирективах в ваших файлах. Скорее всего, вы обнаружите, что эта противоречащая директива читается примерно так:
default_serverПараметр, если он присутствует, приведет к серверу стать сервером по умолчанию для указанной address:portпары. Если ни одна из директив не имеет default_serverпараметра, то первый сервер с address:portпарой будет сервером по умолчанию для этой пары.
Это означает, что serverв вашей конфигурации должен быть другой файл или блок, определенный default_serverдля порта 80. nginx обнаруживает это сначала перед вашим mysite.comфайлом, поэтому попробуйте удалить или изменить эту другую конфигурацию.
Если вы не можете найти, где установлены эти директивы и параметры, попробуйте выполнить поиск следующим образом:
Чтобы было ясно, это default_serverключевое слово может появляться только в одной конфигурации - вы можете определить несколько сайтов с помощьюlisten 80;
Eborbob
1
Спасибо, вы мне помогли. В моем случае я нашел дубликат в /etc/nginx/sites-enabled/default.save
Эндрю Гроу
1
В дополнение к комментарию @Eborbob default_serverпараметр может появляться только один раз для каждой address:portпары. Это означает, что возможно (и обычно) default_serverприсутствовать несколько раз в общей конфигурации nginx, но применительно к разным IP-адресам / портам.
davidjb
2
команда grep была просто билетом. это простые вещи, спасибо
FireDragon
6
ОС Debian 10 + nginx. В моем случае я отключил страницу "по умолчанию" как:
Если вы используете Digital Ocean, это означает, что вам нужно перейти в / etc / nginx / sites-enabled /, а затем УДАЛИТЬ с помощью rm -R digitalocean и по умолчанию
Это был простой ответ, который помог мне. Мне пришлось зайти в / etc / nginx / sites-enabled /, а rm -R previousServerFolderNameзатем сделать так, sudo service nginx restartчтобы systemctl status nginxшоу было «активным (запущено)»
server {}
должна быть свояlisten
директива.Ответы:
Вероятно, у вас есть другие файлы (например,
default
конфигурация),/etc/nginx/sites-enabled
которые необходимо удалить.Эта проблема вызвана повторением
default_server
параметра, указанного в одной или несколькихlisten
директивах в ваших файлах. Скорее всего, вы обнаружите, что эта противоречащая директива читается примерно так:В документации основного модуля nginx
listen
говорится:Это означает, что
server
в вашей конфигурации должен быть другой файл или блок, определенныйdefault_server
для порта 80. nginx обнаруживает это сначала перед вашимmysite.com
файлом, поэтому попробуйте удалить или изменить эту другую конфигурацию.Если вы не можете найти, где установлены эти директивы и параметры, попробуйте выполнить поиск следующим образом:
источник
default_server
ключевое слово может появляться только в одной конфигурации - вы можете определить несколько сайтов с помощьюlisten 80;
default_server
параметр может появляться только один раз для каждойaddress:port
пары. Это означает, что возможно (и обычно)default_server
присутствовать несколько раз в общей конфигурации nginx, но применительно к разным IP-адресам / портам.ОС Debian 10 + nginx. В моем случае я отключил страницу "по умолчанию" как:
источник
Выполните это на терминале, чтобы увидеть конфликтующие конфигурации, прослушивающие один и тот же порт:
источник
Если вы используете Digital Ocean, это означает, что вам нужно перейти в / etc / nginx / sites-enabled /, а затем УДАЛИТЬ с помощью rm -R digitalocean и по умолчанию
Он исправил это для меня!
Изображение консоли в Windows 10 с использованием Bitvise
источник
rm -R previousServerFolderName
затем сделать так,sudo service nginx restart
чтобыsystemctl status nginx
шоу было «активным (запущено)»