Наверное у каждого в жизни встречались ситуации, когда казалось бы простая задача отбирала кучу времени и сил. Горы перелопаченных форумов — а результата ноль. Для меня таким «крепким орешком» оказалась установка Beanstalk на виртуальную машину с CentOS7.
А решение оказалось очень простым.
Шаг 1: Качаем дистрибутив
Сначала необходимо создать папку, где будет находиться Beanstalk. У меня это папака
/opt/beanstalkd/
Для скачивания дистрибутива переходим в созданную папку и выполняем команду
wget https://github.com/kr/beanstalkd/archive/v1.10.tar.gz
Если у вас команда wget отсутствует в системе — ее легко установить
Sudo yum install wget
Готово. Осталось только распаковать архив
tar -xzf v1.10.tar.gz
Шаг 2: Сборка сервиса
Теперь преобразуем дистрибутив в готовую программу. Переходим в распакованную папку (у меня это beanstalkd-1.10) и выполняем команду
Make
Если у вас не установлен компилятора, то при выполнении этой команды возникнет ошибка. Установим его
Sudo yum install gcc
И снова попробуем скомпилировать Beanstalk. Если все прошло успешно, то у вас должен появиться файл beanstalkd.
Шаг 3: Пишем скрипт для запуска / остановки Beanstalk
Теперь beanstalk можно запускать прямо с консоли. А можно для удобства написать небольшой скрипт
#!/bin/bash clear # Default options, overruled by items in sysconfig BEANSTALKD_ADDR=127.0.0.1 BEANSTALKD_PORT=11300 exec="/opt/beanstalkd/beanstalkd-1.10/beanstalkd" options="-l ${BEANSTALKD_ADDR} -p ${BEANSTALKD_PORT} start() { echo -n $"Starting beanstalk: " nohup $exec $options > /dev/null 2>&1 & retval=$? return $retval } stop() { echo -n $"Stopping beanstalk: " kill -9 $(pgrep beanstalkd) retval=$? return $retval } restart() { stop start } case "$1" in start) start && exit 0 $1 ;; stop) stop || exit 0 $1 ;; restart) restart || exit 0 $1 ;; *) echo $"Usage: $0 {start|stop|restart}" exit 2 esac
Сохраните его в файле с расширением sh, скажем beanstalkd.init.sh. Тогда запуск сервиса будет осуществляться командой
sh beanstalkd.init.sh
ссылка на оригинал статьи http://habrahabr.ru/post/260959/
Добавить комментарий