歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 5.6 64位下安裝配置Gearman

CentOS 5.6 64位下安裝配置Gearman

日期:2017/2/28 16:08:25   编辑:Linux教程

Gearman是一個分發任務的程序框架,可以用在各種場合,與Hadoop相比,Gearman更偏向於任務分發功能。它的任務分布非常簡單,簡單得可以只需要用腳本即可完成。Gearman最初用於LiveJournal的圖片resize功能,由於圖片resize需要消耗大量計算資源,因此需要調度到後端多台服務器執行,完成任務之後返回前端再呈現到界面。

下面說說在CentOS 5.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?r=&ts=1314144875&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
說明安裝配置成功

Copyright © Linux教程網 All Rights Reserved