У нас есть веб-сервер разработки (ubuntu), на котором работают некоторые веб-сайты. В большинстве случаев это работает нормально, но, поскольку некоторое время, когда мы разрабатываем, мы получаем ошибку «не удается подключиться» при загрузке веб-страницы, ничего особенного, даже на простой странице html. Страница, которая минуту назад работала нормально, длится пару минут, после чего снова начинает работать.
Итак, пару минут мы не можем подключиться к нашему серверу с помощью http-запроса, например, ssh работает нормально. Мы отслеживали загрузку сервера, но она все время остается 0,03.
Мы думали, что проблема будет в Apache или Mysql, но даже после их перезапуска сервер оставался недоступным.
Обновить: Когда сервер недоступен через доменное имя, он все еще работает, когда мы используем IP-адрес сервера. Так что я не думаю, что проблема в самом сервере, но что-то в DNS на маршрутизаторе.
Кто-нибудь знает, в чем может быть проблема?
Когда сервер недоступен через доменное имя, он по-прежнему работает, когда мы используем IP-адрес сервера. Так что я не думаю, что проблема в самом сервере, но что-то в DNS на маршрутизаторе.
Кто-нибудь знает, в чем может быть проблема?
Примечание: это зависит от сервера, возвращающего пакеты ping, чтобы быть полезным тестом. Ваш сервер может быть настроен не так, как "соображения безопасности" (хотя на самом деле это не дает вам особой безопасности).
Когда возникает условие (и сервер не отвечает на ваши запросы http или https), можете ли вы проверить связь с сервером по имени хоста? Если это так, ваша команда ping успешно разрешает адрес сервера через DNS (т. Е. Не проблема с DNS), а ваш маршрутизатор передает эхо-запрос ICMP на адрес (т. Е. Не проблема маршрутизатора). Поэтому, если ping работает, вам следует сосредоточиться на сервере как вероятный виновник.
Если ping не работает, устраните неполадки как обычную проблему сети (например, посмотрите на разрешение DNS, попробуйте traceroute, чтобы увидеть, не умирает ли ваша попытка подключения где-то по пути и т. Д.)
Позднее редактирование:
Я пропустил то, что вы написали:
Итак, в течение нескольких минут мы не можем подключиться к нашему серверу с помощью HTTP-запроса, например, ssh работает нормально.
Я не могу точно сказать из вашего описания выше, имеете ли вы в виду, что "ssh servername.domain.tld" работает нормально, пока происходит сбой, или вы просто имеете в виду, что если вы подключаетесь к серверу по ssh, когда происходит сбой, ваш ssh соединение не разрывается. Если вы можете оставаться подключенным к ssh и активно подключенным (то есть не просто судить о том, что вы подключены, потому что ваше ssh-соединение не разрывается), пока возникает это состояние, это вряд ли проблема маршрутизатора. И должно быть очень легко проверить разрешение DNS с помощью такой программы, как dig (или nslookup, но dig будет намного лучше, если вы научитесь ее использовать).
Вы хотите контролировать apache с помощью встроенного server-status
модуль:
http://httpd.apache.org/docs/2.2/mod/mod_status.html
Убедитесь, что вы также установили ExtendedStatus On
в вашей глобальной конфигурации (не в vhost).
Затем вы можете проверить, есть ли длительные запросы, или ваши рабочие ресурсы истощаются.