Назад | Перейти на главную страницу

Как настроить сообщение «сервер не работает», как это делают Reddit и Twitter?

У меня есть VPS с блогом нашей команды Ubuntu LoCo, но я хочу настроить сообщение, в котором говорится, что сервер не работает, когда это происходит, как это делают Reddit и Twitter.

Например, если я перезапускаю сервер или мой VPS выходит из строя, я хочу, чтобы пользователь загрузил другую страницу с другого сервера, сообщив, что сайт не работает и скоро вернется.

Думаю, это можно сделать с избыточностью, но, честно говоря, я ничего об этом не знаю. Возможно ли это, и по этому поводу есть какой-нибудь учебник?

Я много искал, но, поскольку я не знаю, как назвать эту «особенность», я действительно не знаю, что искать.

В любом случае, если это поможет, я использую Nginx, PHP-FPM, PHP-APC и Ubuntu Server 12.04. Мой DNS размещен в CloudFlare Pro.

Заранее спасибо :)

Такие решения обычно достигаются через прокси или балансировщик нагрузки.

Такой большой сайт, как Reddit, не обслуживает все с одного сервера. Спереди есть балансировщик нагрузки. И когда он обнаруживает, что его веб-серверы (например, один, на котором запущен php-fpm) больше не отвечает, он выдает ошибку 503.

У вас уже есть два инструмента, с помощью которых можно этого добиться. Cloudflare и nginx.

Cloudflare представляет собой сочетание CDN и прокси-сервиса и уже предлагает вам такой инструмент. Это будет самый простой маршрут.

Nginx также может действовать как прокси и / или балансировщик нагрузки и может обрабатывать настраиваемые ошибки в зависимости от определенных ситуаций. Как будто php-fpm не отвечает. Однако для этого, очевидно, потребуется как минимум 2 независимых сервера.