Установка сервера Gearman - Сетевой брокер сообщений
apt-get install gearman-server gearman-client
Установка Gearman PHP extensions на Debian 6
- http://download.datadifferential.com - libgearman
- http://pecl.php.net/package/gearman - модуль PHP
Устанавливаем все необходимые пакеты
sudo apt-get install php5-dev libevent-dev uuid-dev sudo apt-get install gcc build-essential g++ libboost-dev libboost-program-options-dev
Устанавливаем библиотеку libgearman и модуль для PHP
- nano ./gearman.sh
ver="1.1.3"echo-e"## Install libgearman $ver ##"dpkg-r gearmand sleep1wget http://download.datadifferential.com/gearmand-${ver}.tar.gz tar-xvzf gearmand-${ver}.tar.gz cd ./gearmand-${ver} ./configure sleep1make checkinstall make clean cd .. ver1="1.1.0"echo-e"## Install php-gearman $ver1 ##"dpkg-r gearman sleep1wget http://pecl.php.net/get/gearman-${ver1}.tgz tar-zxvf gearman-${ver1}.tgz cd ./gearman-${ver1} phpize ./configure make checkinstall make clean cd ..
Установка скриптом
- nano ./install-gearman.sh
echo -e "## Install development soft ##" aptitude install gcc build-essential g++ libboost-dev libboost-program-options-dev libboost-all-dev libevent-dev uuid-dev -y echo -e "## Uninstall Gearman Job Server & php-gearman client ##" dpkg -r gearman dpkg -r gearmand echo -e "## Install Gearman Job Server & php-gearman client ##" ver="1.1.1" echo -e "## Install libgearman $ver ##" dpkg -r gearmand sleep 1 wget http://download.datadifferential.com/gearmand-${ver}.tar.gz tar -xvzf gearmand-${ver}.tar.gz cd ./gearmand-${ver} ./configure sleep 1 make checkinstall make clean cd .. adduser gearman --home /var/www --no-create-home --disabled-login --disabled-password --ingroup www-data if ! test -d /var/log/gearman-job-server then mkdir /var/log/gearman-job-server chown gearman:www-data -R /var/log/gearman-job-server fi if ! test -d /var/run/gearman then mkdir /var/run/gearman chown gearman:www-data -R /var/run/gearman fi echo ' #!/bin/sh # Gearman server and library # Copyright (C) 2008 Brian Aker, Eric Day # All rights reserved. # # Use and distribution licensed under the BSD license. See # the COPYING file in this directory for full text. ### BEGIN INIT INFO # Provides: gearman-job-server # Required-Start: $network $remote_fs $syslog # Required-Stop: $network $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable gearman job server ### END INIT INFO prefix=/usr/local exec_prefix=${prefix} NAME=gearmand DAEMON=${exec_prefix}/sbin/gearmand PIDDIR=/var/run/gearman PIDFILE=${PIDDIR}/gearmand.pid GEARMANUSER="gearman" PARAMS="" test -x ${DAEMON} || exit 0 . /lib/lsb/init-functions test -f /etc/default/gearman-job-server && . /etc/default/gearman-job-server start() { log_daemon_msg "Starting Gearman Server" "gearmand" if ! test -d ${PIDDIR} then mkdir ${PIDDIR} chown ${GEARMANUSER} ${PIDDIR} fi if start-stop-daemon \ --start \ --exec $DAEMON \ -- --pid-file=$PIDFILE \ --user=$GEARMANUSER \ --daemon \ --log-file=/var/log/gearman-job-server/gearman.log \ $PARAMS then log_end_msg 0 else log_end_msg 1 log_warning_msg "Please take a look at the syslog" exit 1 fi } stop() { log_daemon_msg "Stopping Gearman Server" "gearmand" if test -e /tmp/gearman-job-server.sqlite then rm /tmp/gearman-job-server.sqlite fi if start-stop-daemon \ --stop \ --oknodo \ --exec $DAEMON \ --pidfile $PIDFILE then log_end_msg 0 else log_end_msg 1 exit 1 fi } status() { status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? } case "$1" in start) start ;; stop) stop ;; status) status ;; restart|force-reload) stop start ;; *) echo "Usage: $0 {start|stop|restart|force-reload|status}" ;; esac ' > /etc/init.d/gearman-job-server ver1="1.1.0" echo -e "## Install php-gearman $ver1 ##" dpkg -r gearman sleep 1 wget http://pecl.php.net/get/gearman-${ver1}.tgz tar -zxvf gearman-${ver1}.tgz cd ./gearman-${ver1} phpize ./configure make checkinstall make clean cd ..
service gearman-job-server restart service php5-fpm restart
Проверка
Ищем где находятся конфигурации расширений PHP
php --ini
Создаем файл ./gearman.ini и пишем в него следующее
extension=gearman.so
Проверяем правильность установки библиотеки
php --info | grep "gearman support" gearman support => enabled