- PVSM.RU - https://www.pvsm.ru -
Понадобилось недавно установить memcached и memcacheq на CentOs 6.2 и к сожалению было обнаружено, что готовых в репозитории нет, и надо компилировать самостоятельно. Причем, по сборке второго — нормальной и актуальной инструкции нету ни на русском, ни на английском. Последняя которая есть на всех сайтах достаточно древна и не совсем актуальна. Поиск гуглом находит только какие-то убогие китайские сайты. Вот и хочу восполнить этот пробел в русском сегменте сети.
Версия libevent в репозитории
[root@oracle134 ~]# rpm -qa libevent
libevent-1.4.13-1
Berkeley DB в репозитории нет.
Все дальнейшие действия выполняются под учетной записью с правами root.
Переходим в любую удобную вам папку — например /tmp
[root@oracle134 tmp]#wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.19-stable.tar.gz
[root@oracle134 tmp]#tar xvzf libevent-2.0.19-stable.tar.gz
[root@oracle134 tmp]#cd libevent-2.0.19-stable
[root@oracle134 libevent-2.0.19-stable]#./configure
[root@oracle134 libevent-2.0.19-stable]#make
[root@oracle134 libevent-2.0.19-stable]#make install
Berkeley DB нужно сначала скачать с сайта Oracle.com и загрузить на сервер вручную, поскольку Оракл требует обязательной регистрации и аутенфикации на сайте для скачивания. Далее…
[root@oracle134 tmp]#tar xvzf db-5.3.21.tar.gz
[root@oracle134 tmp]]#cd db-5.3.21/build_unix
[root@oracle134 build_unix]#../dist/configure
[root@oracle134 build_unix]#make
[root@oracle134 build_unix]#make install
Нужно добавить строки:
/usr/local/lib
/usr/local/berkeleydb/lib/
в файл /etc/ld.conf.so, что бы подгрузить нужные .so модули.
echo '/usr/local/lib' >> /etc/ld.conf.so
echo '/usr/local/berkeleydb/lib/' >> /etc/ld.conf.so
Осталось их загрузить и создать ссылку на директорию, для того, что бы memcacheq скомпилировался, поскольку в его конфиге наживую прописан не верный, старый, путь к файлам Berkeley DB.
[root@oracle134 tmp]#ln -s /usr/local/berkeleydb/ /usr/local/BerkeleyDB.4.7
[root@oracle134 tmp]#ldconf
[root@oracle134 tmp]#wget http://memcacheq.googlecode.com/files/memcacheq-0.2.0.tar.gz
[root@oracle134 tmp]#tar xvzf memcacheq-0.2.0.tar.gz
[root@oracle134 tmp]#cd memcacheq-0.2.0
[root@oracle134 memcacheq-0.2.0]#./configure –enable-threads
[root@oracle134 memcacheq-0.2.0]#make
[root@oracle134 memcacheq-0.2.0]#make install
После всего вышеописанного процесс должен пройти без проблем. Для проверки установки запустим и попробуем подсоедениться:
[root@oracle134 memcacheq-0.2.0]#memcacheq -d -r -H /tmp/memcacheq -N -R -v -L 1024 -B 1024 > /tmp/mq_error.log -u nobody 2>&1
[root@oracle134 memcacheq-0.2.0]#telnet localhost 22201
Если установить telnet соединение удалось, значит все настроено верно. Можно выполнить команды stats/stats queue для того, что бы посмотреть текущее состояние очередей. quit — что бы выйти.
Кратко по опциям с которыми запущен memcacheq:
Остается лишь добавить скрипт запуска в /etc/init.d/, который можно безвозмедно взять по ссылке
gkirok.blogspot.com [1], скопировать в /etc/init.d/, дать права на выполнение и добавить в автозагрузку
[root@oracle134 ~]#chmod +x /etc/init.d/memcacheq
[root@oracle134 ~]#chkconfig memcacheq on
PS.
Получил инвайт из песочницы, переношу статью в паблик. Если выбрал не те хабы, просьба сильно не пинать, а указать верные.
Автор: someoneisusingmyusualnick
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/centos/13376
Ссылки в тексте:
[1] gkirok.blogspot.com: http://gkirok.blogspot.com/2012/06/memcacheq-initd-script.html
[2] libevent: http://libevent.org/
[3] Berkeley DB: http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html?origref=http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html?ssSourceSiteId=ocomen
[4] MemcacheQ: http://memcachedb.org/memcacheq/
Нажмите здесь для печати.