Size: a a a

DevOps — русскоговорящее сообщество

2020 April 26

AK

Aleksandr Karabanov in DevOps — русскоговорящее сообщество
Привет.

У сервера стало два IP.
Казалось бы достаточно в конфигах заменить listen x.x.x.x:80 на listen *:80 и выполнить systemctl reload nginx.service но нет, во-первых после перечитывания конфига ничего не происходит, то есть он просто не перечитывается, всё продолжает работать, как и работало. Явная остановка и запуск демона приносят плоды и Nginx начинает слушать 0.0.0.0:80, но после этого все сайты перестают работать (Nginx отвечает 404).
Только явное указание двух директив listen с двумя IP и явная остановка/запуск демона решают проблему, после чего всё начинает работать, как ожидается.

Что не так с listen *:80, почему так не работает?
источник

💀Ҁ

💀 Ңӥҟӥҭӓ Ҁӆӑҫҭӥӿӥӊ 🐲 in DevOps — русскоговорящее сообщество
а если написать listen 0.0.0.0:80?
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
Aleksandr Karabanov
Привет.

У сервера стало два IP.
Казалось бы достаточно в конфигах заменить listen x.x.x.x:80 на listen *:80 и выполнить systemctl reload nginx.service но нет, во-первых после перечитывания конфига ничего не происходит, то есть он просто не перечитывается, всё продолжает работать, как и работало. Явная остановка и запуск демона приносят плоды и Nginx начинает слушать 0.0.0.0:80, но после этого все сайты перестают работать (Nginx отвечает 404).
Только явное указание двух директив listen с двумя IP и явная остановка/запуск демона решают проблему, после чего всё начинает работать, как ожидается.

Что не так с listen *:80, почему так не работает?
если нужно начать слушать новые порты релоад не поможет, нужен рестарт
источник

СM

Саня Mazur in DevOps — русскоговорящее сообщество
Aleksandr Karabanov
Привет.

У сервера стало два IP.
Казалось бы достаточно в конфигах заменить listen x.x.x.x:80 на listen *:80 и выполнить systemctl reload nginx.service но нет, во-первых после перечитывания конфига ничего не происходит, то есть он просто не перечитывается, всё продолжает работать, как и работало. Явная остановка и запуск демона приносят плоды и Nginx начинает слушать 0.0.0.0:80, но после этого все сайты перестают работать (Nginx отвечает 404).
Только явное указание двух директив listen с двумя IP и явная остановка/запуск демона решают проблему, после чего всё начинает работать, как ожидается.

Что не так с listen *:80, почему так не работает?
релоуд просто перечитывает конфиг
источник

СM

Саня Mazur in DevOps — русскоговорящее сообщество
он не останавливает работу
источник

W

Wingman in DevOps — русскоговорящее сообщество
Aleksandr Karabanov
Привет.

У сервера стало два IP.
Казалось бы достаточно в конфигах заменить listen x.x.x.x:80 на listen *:80 и выполнить systemctl reload nginx.service но нет, во-первых после перечитывания конфига ничего не происходит, то есть он просто не перечитывается, всё продолжает работать, как и работало. Явная остановка и запуск демона приносят плоды и Nginx начинает слушать 0.0.0.0:80, но после этого все сайты перестают работать (Nginx отвечает 404).
Только явное указание двух директив listen с двумя IP и явная остановка/запуск демона решают проблему, после чего всё начинает работать, как ожидается.

Что не так с listen *:80, почему так не работает?
попробуй listen :80
источник

AK

Aleksandr Karabanov in DevOps — русскоговорящее сообщество
Владимир Муковоз
если нужно начать слушать новые порты релоад не поможет, нужен рестарт
Да, не знал об этом, но убедился на практике, но непонятно почему listen *:80 не позволяет слушать сразу на всех имеющихся интерфейсах и надо явно указывать две директивы listen с двумя IP...
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
оно учитываетв се ip
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
Я лично без * пишу
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
listen 80;
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
всё
источник

AK

Aleksandr Karabanov in DevOps — русскоговорящее сообщество
Так я тоже пробовал - не работает.
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
Aleksandr Karabanov
Так я тоже пробовал - не работает.
а как ты проверяешь))
источник

AK

Aleksandr Karabanov in DevOps — русскоговорящее сообщество
Wingman
попробуй listen :80
Хм.
nginx: [emerg] no host in ":80" of the "listen"
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
зачем там :
источник

W

Wingman in DevOps — русскоговорящее сообщество
Aleksandr Karabanov
Хм.
nginx: [emerg] no host in ":80" of the "listen"
пардон, без двоеточия
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
???
источник

W

Wingman in DevOps — русскоговорящее сообщество
ну потому что копипаст из чатика %)
источник

AK

Aleksandr Karabanov in DevOps — русскоговорящее сообщество
Владимир Муковоз
а как ты проверяешь))
curl -IL <доменное имя> ну или просто в браузере открываю сайт.
источник

ВМ

Владимир Муковоз in DevOps — русскоговорящее сообщество
Aleksandr Karabanov
curl -IL <доменное имя> ну или просто в браузере открываю сайт.
как это вообще связано?
источник