пятница, 20 апреля 2012 г.

Установка Erlang + RabbitMQ с помощью zc.buildout

Как только мне пришлось поднимать на сервере третий проект, который требовал использования Celery я решил всё таки установить AMPQ сервер. До этого момента я обходился использованием для хранения очереди сообщений базу данных проекта, которому был нужен Celery.

Документация к Celery рекомендует использовать RabbitMQ в качестве AMPQ сервера, поэтому я и решил использовать именно его. Поскольку доступная на сервере из портов версия была не самая свежая (да и у меня на локальной машине она была ещё старее) я решил сделать конфигурацию zc.buildout для сборки и конфигурирования RabbitMQ из исходников. Поскольку этот сервер требует Erlang, то и его установку я прописал в билдаут. Так же билдаут включает веб-админку для RabbitMQ и формирует конфиг nginx для доступа к ней.

Всё что я сделал доступно совершенно бесплатно в репозитории на bitbucket.org - https://bitbucket.org/cykooz/rabbitmq_buildout

Установка, как и всегда в случае с билдаутом, довольно проста:
python bootstrap.py -d
./bin/buildout
После этого в папке ./bin будут нужные скрипты для работы с RabbitMQ (как с ним работать - читайте в официальной документации). Так же там будет скрипт rabbitmq.sh предназначенный для запуска RabbitMQ через Supervisor. В общем то он и без этого скрипта запускается, но поскольку документация рекомендует выключение сервера с помощью команды rabbitmqctl stop, то я и сделал эту обёртку для выполнения этой рекомендации.

PS: для установки на FreeBSD (и других аналогичных системах, в которых используется не GNU make) используйте конфиг билдаута buildout-freebsd.cfg. Само собой в системе должна быть установлена утилита gmake

Комментариев нет:

Отправить комментарий