Supervisor — система управления процессами

Если на вашем сервере работает несколько разных приложений (например, Node.js-, Ruby- или Python-приложение или PHP-скрипт, который должен быть всегда запущен (daemon)), то Supervisor — то, что вам нужно. Он позволяет управлять процессами из одного файла конфигурации:

  • Указывать файлы логов для каждого приложения;
  • управлять политиками запуска и перезапуска;
  • указывать от какого пользователя запускать приложения и т.д.

В моем случае есть PHP-скрипт с Websockets-сервером, который должен быть всегда запущен. В начале я запускал его просто через cron, поставив выполнение cron-а на каждый час. Если скрипт падал, то через час он восстанавливался (меньший интервал приводил к багам), это нам не очень подходило. Поэтому я начал искать другие варианты, про Supervisor я слышал уже давно, но в начале он мне показался сложным в настройке, поэтому ушел на дальнюю полку.

Сегодня я постараюсь рассказать как установить и настроить Supervisor на Ubuntu и CentOS.

Читать далее Supervisor — система управления процессами

Установка Redis на Ubuntu и CentOS

Redis — это хранилище данных типа ключ-значение, подробнее о нем можно почитать в Wiki. Основная особенность Redis в том, что он хранит все данные в оперативной памяти. От этого увеличивается быстродействие, но соответственно уменьшается объем свободной памяти =). Конечно, если свободная память заканчивается, он сбрасывает данные на диск, но лучше до такого не доводить, ибо это не лучшая его сторона.

Для чего нам может понадобится Redis? Например, для хранения в нем пользовательских сессий. Это, обычно, необходимо, если у вас несколько отдельных приложений с общей системой авторизации (продукты компаний Google, Яндекс) или несколько серверов с одним приложением (Вконтакте, Facebook). Читать далее Установка Redis на Ubuntu и CentOS