[Gearman] centos上Gearman的安装
admin
2023-06-25 11:02:21
0

一.简介

Gearman安装分2步,第1步是gearmand的安装,第2步是gearman的PHP扩展的安装。

第1步:

二.gearmand的安装

1.首先安装libdrizzle

    #yum install libdrizzle libdrizzle-devel

2.安装gearman(两种方法1.yum2.源码包)。(c版的server)

    1)yum安装

    #rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/epel-release-6-5.noarch.rpm

    #yum install -y gearmand

    2)源码包安装

    #cd /opt/build/

    #wget https://launchpad.net/gearmand/trunk/0.34/+download/gearmand-0.34.tar.gz

    #tar zxf gearmand-0.34.tar.gz

    #cd gearmand-0.34

    #./configure

    #make && make install

3.启动gearman服务

    1)yum安装方式

    #/etc/init.d/gearmand start

    2)源码包安装方式

    #/opt/build/gearmand-0.34/sbin/gearmand -d


    #gearmand -vvv -u root 

    INFO Starting up

    INFO Listening on :::4730 (6)

    INFO Creating wakeup pipe

    INFO Creating IO thread wakeup pipe

    INFO Adding event for listening socket (6)

    INFO Adding event for wakeup pipe

    INFO Entering main event loop

三.gearman的PHP扩展安装

1.下载扩展程序:http://pecl.php.net/package/gearman

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

tar zxvf gearman-1….

cd gearman-1 …

phpize

./configure

如果提示: configure: error: Please install libgearman

则安装:libgearman-devel,命令:yum install libgearman-devel


make && make install

很快就安装完成,最后会展示so文件的路径,如:/usr/lib64/php/modules/

2.在php.ini末尾加上extension=”/usr/lib64/php/modules/gearman.so”,重启apache,输出php –info |grep “gearman”或者php -m或者网页输出phpinfo()都能看到已经安装成功。

常见问题:configure时如果提示找不到php-config,请指定。如–with-php-config=/usr/local/php/bin/php-config,注意要指定完整,不要只写目录。

四.gearman的启动和测试

1.gearmand -p 4730 -L 121.111.111.111 --log-file=/tmp/gearmand-4730.log --pid-file=/tmp/gearmand-4730.pid -d

2.Client:

$myParams = array();

$myParams['level'] = "warn";

$myParams['content'] = "it's a test";

$client= new GearmanClient();

//如果gearman 300毫秒内没反应,直接关闭连接

$client->setTimeout(300);

$client->addServer("121.111.111.111", "4730");

$client->doBackground("log", json_encode($myParams));

3.Server

$worker = new GearmanWorker();

$worker -> addServer("112.111.111.111", "4730");

$worker -> addFunction("log", "doLog");

while ($worker -> work());

function doLog($job) {

global $logger, $logLevels, $myParams;

$myParams = NULL;


$myParams = json_decode($job -> workload());

$level = $myParams->level;

if (!in_array($level,$logLevels)) $level = 'info';


$logger->$level($myParams->content);

}

参考:

http://www.cppblog.com/guojingjia2006/archive/2013/01/07/197076.html

http://www.xiaomlove.com/php安装gearman扩展实现异步分步式任务/

相关内容

热门资讯

香会开幕,苏林发表演讲 据凤凰卫视报道,第二十三届香格里拉对话会,周五晚在新加坡开幕。越共中央总书记、越南国家主席苏林,发表...
美军:将在霍尔木兹海峡附近开展... △资料图当地时间5月29日,美国中央司令部警告称,将在霍尔木兹海峡附近开展军事行动,并以自卫名义打击...
黑色终于回来了!iPhone ... 说实话,今年 iPhone 18 Pro 在外观上大家真不用抱太大期待。能让人一眼看出是新机的变化差...
神舟二十一号航天员乘组安全顺利... 中国军网北京5月29日电(记者 牛凯旋) 据中国载人航天工程办公室消息,北京时间2026年5月29日...
神舟二十一号航天员乘组返回任务... 神舟二十一号航天员乘组返回任务取得圆满成功 5月29日,载着神舟二十一号航天员乘组的神舟二十二号...
AI“带火”语音办公:打工人开... 记者 郑晨烨 淘宝上最近流行起了一种键盘产品,但它只有4个按键、1个拨杆和1个麦克风接口,没有字母键...
神二十一乘组平安凯旋后,还有哪... 5月29日,神舟二十一号航天员乘组搭乘载人飞船在东风着陆场成功着陆。20时59分,航天员张陆、武飞、...
普京:有理由认为俄乌冲突临近收... 新华社阿斯塔纳5月29日电 据今日俄罗斯通讯社29日援引俄总统普京的话报道,从特别军事行动战场形势来...
AI牵手能源,会擦出怎样的火花... (来源:中国电力新闻网) 转自:中国电力新闻网 AI牵手能源,会擦出怎样的火花? ——国家能源集团“...
时政微观察丨创新之道 唯在得人 5月25日,中国航天太空“全家福”再上新——神舟二十三号航天员乘组顺利进驻“天宫”,与神舟二十一号航...