[Gearman] centos上Gearman的安装

发布时间:2020-07-05 09:16:22 作者:neptunecai
来源:网络 阅读:1301

一.简介

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扩展实现异步分步式任务/

推荐阅读:
  1. 怎么在PHP项目中利用php_imagic对图片进行剪切
  2. 利用php怎么实现一个按指定比例缩放图片

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php gearman ce tos

上一篇:elasticsearch安装中文分词插件

下一篇:FTP(一)通讯连接原理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》