centos上Gearman的安裝

來源:互聯網
上載者:User

標籤:

一.簡介

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

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);

}

本文轉自:程式員鼓勵師

centos上Gearman的安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.