> CentOS > CentOS教程 >

centos5.6 64位下安装配置gearman

1 准备需要的软件

   boost 1.43  安装gearmand需要boost 1.37以上版本 下载地址http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.tar.gz/download
   icu4c-4_0-src.tgz      安装boost必需   http://downloads.sourceforge.net/project/icu/ICU4C/4.0/icu4c-4_0-src.tgz?use_mirror=cdnetworks-kr-2
gearmand   http://launchpad.net/gearmand/trunk/0.23/+download/gearmand-0.23.tar.gz

2 安装gearmand

   1)安装boost 

   wget http://downloads.sourceforge.net/project/icu/ICU4C/4.0/icu4c-4_0-src.tgz?use_mirror=cdnetworks-kr-2
tar zxvf icu4c-4_0-src.tgz
cd icu/source
./configure –prefix=/usr
make
make install
ldconfig


wget http://sourceforge.net/projects/boost/files/boost/1.43.0/boost_1_43_0.tar.gz/download
tar zxvf boost_1_43_0.tar.gz
cd boost_1_43_0
rm -rf /usr/include/boost/
rm -rf /usr/lib/libboost*
./bootstrap.sh
./bjam -sHAVE_ICU=1
编译大概半小时,完成后:
cp ./stage/lib/* /usr/lib
cp -a  ./boost /usr/include/
ldconfig
2)  安装gearmand  wget  http://launchpad.net/gearmand/trunk/0.23/+download/gearmand-0.23.tar.gz

#   tar zxvf gearmand-0.23.tar.gz

#   cd gearmand-0.23

#  ./configure 

#  make && make install

# ldconfig



3  安装gearmand php扩展

#  wget http://pecl.php.net/get/gearman-0.8.0.tgz

#  tar zxvf gearman-0.8.0.tgz

# cd gearman-0.8.0

#  phpize

# ./configure

#  make && make install

接下来在php.ini中找到如下行
extension_dir = "/usr/lib/php/modules"
然后在下面追加
extension="gearman.so"

重启httpd服务  service httpd restart



4  测试gearmand 

  

启动gearman守护进程
gearmand -L 127.0.0.1 -p 4730 -u root -d

创建test_worker.php


<?php

$worker= new GearmanWorker();

$worker->addServer('127.0.0.1', 4730);

$worker->addFunction("reverse", "my_reverse_function");

while ($worker->work());

function my_reverse_function($job)

{

return strrev($job->workload());

}

?>

在命令行下执行test_worker.php
php test_worker.php &
这样就添加了名为reverse的worker添加的job server供客户端调用

创建test_client.php

<?php

$client= new GearmanClient();

$client->addServer();

echo $client->do("reverse", "Hello World!");

?>

可以使用命令行和通过web访问
php test_client.php

http://serverip/test_client.php

如果都输出
!dlroW olleH
说明安装配置成功
(责任编辑:IT)