У меня есть 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 независимых сервера.