Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 12629|Ответ: 0

[Веб] Самозапуск Nginx провалился

[Скопировать ссылку]
Опубликовано 30.05.2015 23:46:28 | | |

Linode снова обновили~ Но поскольку старый компьютер в японской компьютерной комнате будет обновляться несколько недель, я не могу дождаться, поэтому открыл новую машину, планирую вернуться домой и, кстати, убрать ненужный мусор на сервере.

Новая машина использует скрипт установки lnmp, который я написал сам (на самом деле, большая часть кода находится онлайн = =##), и после создания скрипта на DigitalOcean я установил его на Linode для установки. Проблем с установкой и переездом не было, но как только после установки перезагрузили, возникла проблема.


После перезапуска логично предположить, что Nginx должен запускаться автоматически, но после долгого ожидания сайт всё равно нельзя получить доступ. Войдите в SSH и выполните:

Сервис NGINX START

Запустите Nginx вручную, и сайт будет доступен очень быстро. Скрипт самозапуска работает нормально, и с ручным запуском проблем нет, почему nginx просто не запускается?

Просматривая журналы, я наткнулся на вот такую строку:

2014/05/02 17:02:28 [скорая помощь] 2912#0: привязать() к [2400:8900::f03c:91ff:fe6e:5889]:80 неуспешно (99: Не удаётся назначить запрошенный адрес)

Кажется, что при запуске Nginx IPV6 не был инициализирован, поэтому запуск не состоялся. Когда я захожу в SSH и вручную запускаю Nginx, IPv6 уже инициализирован, так что он может запускаться нормально.

Наверное, я догадался о причине, как это решить? После долгого дня в Google я нашёл похожую проблему и решение на ServerFault, и запишу её здесь.

Вставьте в /etc/sysctl.conf:
  1. sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Копирование кода
Или:

Добавьте строку в /etc/network/interfaces:
  1. post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Копирование кода
Я использую второй способ для решения этой задачи.




Предыдущий:О Дискузе! (X3.1) Как включить https-шифрование
Следующий:Участвующие проекты в Кубке Хоупу
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com