Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Патчим Gearman на Debian

Linux, Настройка сервера Add comments

Поскольку жизнь — боль, то баги встречаются часто… Поставив Gearman на Debian заметил, что конфиг не учитывается демоном, поэтому решил написать как патчить gearman, чтобы демон учитывал конфиги. Сейчас конфиги полностью игнорируются.

Для начала поставим сам gearman:

# apt-get install gearman

Меняем конфиг (например, будем хранить очередь в MySQL):

nano /etc/default/gearman-job-server

Меняем значение PARAMS на такое:

PARAMS="--listen=localhost \
        -q mysql \
        --mysql-host=localhost \
        --mysql-port=3306 \
        --mysql-user=db_user \
        --mysql-password=db_pass \
        --mysql-db=db_name \
        --mysql-table=db_table"

Перезагружаем сервис:

# service gearman-job-server restart

Смотрим с какими параметрами запущен демон:

# ps aux | grep gearman
gearman  24946  0.0  2.7  68304  6856 ?        Ssl  11:24   0:00 /usr/sbin/gearmand --pid-file=/var/run/gearman/gearmand.pid --user=gearman --daemon --log-file=/var/log/gearman-job-server/gearman.log --listen=localhost

Как видим, данные с конфига не используются. Будем лечить пациента… Хорошо, что есть добрые люди и есть багтрекер, где подняли эту проблему и написали её решение.

# nano /etc/init/gearman-job-server.conf

Находим строку:

exec start-stop-daemon --start --chuid gearman --exec /usr/sbin/gearmand -- --log-file=/var/log/gearman-job-server/gearman.log

заменяем на:

# PATCH: https://bugs.launchpad.net/ubuntu/+source/gearmand/+bug/1260830
script
    . /etc/default/gearman-job-server
    exec start-stop-daemon --start --chuid gearman --exec /usr/sbin/gearmand -- $PARAMS --log-file=/var/log/gearman-job-server/gearman.log
end script

Но этого еще не всё. Грохнем файл сервиса.

# rm /lib/systemd/system/gearman-job-server.service
# systemctl daemon-reload

Перезапускаем демона:

# service gearman-job-server restart

Проверяем с какими параметрами запущен демон:

# ps aux | grep gearman
gearman  24946  0.0  2.7  68304  6856 ?        Ssl  11:24   0:00 /usr/sbin/gearmand --pid-file=/var/run/gearman/gearmand.pid --user=gearman --daemon --log-file=/var/log/gearman-job-server/gearman.log --listen=localhost -q mysql --mysql-host=localhost --mysql-port=3306 --mysql-user=db_user --mysql-password=db_pass --mysql-db=db_name --mysql-table=db_table

Готово. Успехов! 🙂


27 марта, 2016  
Tags: debian, gearman

Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2016 Gemini_13's Blog
G13.org.ua