文档章节

wdlinux centos 7 gearman安装

刘草
 刘草
发布于 2016/10/08 16:37
字数 915
阅读 229
收藏 0

一、GearMan环境安装

  • 依赖环境:yum install -y boost-devel gperf libevent-devel libuuid-devel
  • 如果boost版本太低,则要自己编译安装
//注意:wdlinux centos 5.11 验证的版本
//ICU4C :icu4c-56_1-src.zip
//Boost:boost_1_50_0.tar.gz

//安装ICU4C 
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

//安装Boost 
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 -prefix=/usr/local/boost
./b2
编译大概半小时,完成后:
./b2 install

二、PHP拓展环境安装

  • 下载列表:http://pecl.php.net/package/gearman
  • wget http://pecl.php.net/get/gearman-1.1.2.tgz
  • tar zxf gearman-1.1.2.tgz
  • cd gearman-1.1.2
  • /www/wdlinux/php/bin/phpize
  • ./configure --with-php-config=/www/wdlinux/php/bin/php-config
  • make
  • cp ./modules/gearman.so /www/wdlinux/php/lib/php/extensions/no-debug-non-zts-20131226/
  • vim /www/wdlinux/php/etc/php.ini 在文件最后添加 :extension=gearman.so
  • 重启PHP服务
  • 查看状态:/www/wdlinux/php/bin/php --info |grep gearman

三、启动gearman

  • gearman -d

四、测试

//worker.php
<?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("reverse", "my_reverse_function");
while ($worker->work());

function my_reverse_function($job)
{
  return strrev($job->workload());
}
?>
  • php worker.php
//client.php
<?php
$client= new GearmanClient();
$client->addServer();
print $client->do("reverse", "Hello World!");
?>

错误集:

在编译过程会遇到以下几种错误,是由于你的系统默认缺少这依赖类库。
报错一:
checking for boostlib >= 1.39… configure: We could not detect the boost libraries (version 1.39 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to –with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
configure: error: could not find boost
解决方法
yum install boost-devel


报错二:
configure: error: could not find gperf
解决方法
yum install gperf


报错三:
configure: error: Unable to find libevent
解决方法
yum install libevent-devel


报错四:
configure: error: Unable to find libuuid
解决方法
yum install libuuid-devel

你可以使用以下一条命令涵盖之前的4条命令:
yum install -y boost-devel gperf libevent-devel libuuid-devel
以上命令会一次性安装完所有的依赖类库。


报错五:
gearmand: Could not open log file "/usr/local/var/log/gearmand.log", from ......
解决方法
mkdir -p /usr/local/var/log/
cd /usr/local/var/log/
touch gearmand.log


报错六:
./libgearman-1.0/gearman.h:53:23: error: cinttypes: No such file or directory
make[1]: *** [libgearman/libgearman_libgearman_la-check.lo] 错误 1
make[1]: Leaving directory `/root/gearmand-1.1.12'
make: *** [all] 错误 2
解决办法:
命令:
yum install gcc44 gcc44-c++ libstdc++44-devel -y
然后在环境变量里加入:
export CC=/usr/bin/gcc44 or export CC=/usr/bin/gcc
export CXX=/usr/bin/g++44
保存退出后执行:
source /etc/profile
删除gearmand-0.34文件夹重新进行编译.
重新进行编译后执行make这步......
在后面有详细的说明,可以不source直接设置环境变量,因为编译后也不一定要这个版本的gcc的。


报错七:
完成后,执行 gearmand -d
gearmand: error while loading shared libraries: libboost_program_options.so.1.50.0: cannot open shared object file: No such file or directory
解决办法:
vim /etc/ld.so.conf
加上路径:/usr/local/boost/lib
ldconfig

报错八:
如果安装成功,启动worker时报如下错误,很有可能是gearmand 没有启动起来。
GearmanWorker fails with 'Failed to set exception option'
gearmand -d或者gearmand -d -u root都启动不起来。gearmand -vvv调试模式却提示未定义选项-v。这时应该是触发gearmand新版本的bug了,查看log应该能看到“000000 [  main ] socket()(Address family not supported by protocol) -> libgearman-server/gearmand.cc:470”这个错误,解决办法是启动时添加参数-L 0.0.0.0,限定只绑定ipv4地址,忽略ipv6。或者安装不高于1.0.2的版本。
参见官方反馈帖子:https://bugs.launchpad.net/gearmand/+bug/1134534
参考链接:http://www.usamurai.com/2013/05/01/install-gearman-from-source-in-centos/



© 著作权归作者所有

刘草
粉丝 10
博文 45
码字总数 17718
作品 0
福州
程序员
私信 提问
CentOS 6 安装 gearman 和它的 php 扩展

PHP 中的 gearman 扩展(http://php.net/manual/en/gearman.requirements.php) 我的服务器使用的是 ius 的 php5.5 ,如果你使用其他源和版本,请自行替换部分包名 1. 安装 epel 和 ius 源 2....

XiongLiding
2016/03/04
140
0
基于CentOS 6.0的wdlinux精简版发布及ISO文件下载

[我的Linux,让Linux更易用]wdlinux是基于CentOS在服务器应用中做的一个精简安装版本,筛选了大部分软件和简化了大部分的安装过程,只需要几步操作便可,方便快速。 从2010年9月开始,从Cen...

wdlinuxcn
2011/07/17
7.6K
7
wdlinux_lnmp服务器安装版ISO及下载,集成wdcp管理系统

wdlinux_lnmp服务器安装版ISO及下载,集成wdcp管理系统 wdlinux是什么 wdlinux是基于CentOS的精简版本,去除了大部分不常用软件包和服务,筛选了系统基本包和web应用环境包,及系统的优化.同时增...

wdlinuxcn
2011/03/28
0
0
lanmp v2.1一键安装包发布(包括lamp,lnmp,lnamp安装)

lanmp一键安装包是wdlinux官网2010年开始推出的apache,nginx,php,mysql,zend,eAccelerator,vsftp应用环境的快速简易安装包,执行一个脚本,整个环境安就完成就可使用,方便易用,安全稳定,详...

wdlinuxcn
2011/11/24
34
0
lanmp v2.1一键安装包发布(包括lamp,lnmp,lnamp安装)

lanmp一键安装包是wdlinux官网2010年开始推出的apache,nginx,php,mysql,zend,eAccelerator,vsftp应用环境的快速简易安装包,执行一个脚本,整个环境安就完成就可使用,方便易用,安全稳定,详...

wdlinuxcn
2011/11/24
979
4

没有更多内容

加载失败,请刷新页面

加载更多

ES 集群上,业务单点如何优化升级?

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! ES 基础 ES 集群 ES 集群上业务优化 一、ES 基础 ES 的安装下载,网上一大片,我这...

泥瓦匠BYSocket
29分钟前
2
0
input accept属性限制文件上传格式

上传文件的类型;具体做法如下所示: 注意:accept属性可以限制上传格式,其有兼容性如下 《1》上传.csv格式的 <input text="file" accept=".csv" /> 《2》上传.xls格式 <input text="file"......

Jack088
36分钟前
1
0
阿里开发者招聘节 | 面试题01:如何实现一个高效的单向链表逆序输出?

面试,如同玩一场饥饿游戏:既要对环境了然于胸,又要对自身心知肚明。发现一个好工作不容易,但成功应聘又会面临一系列的挑战。 为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别...

阿里云云栖社区
47分钟前
3
0
使用scp命令在多个Linux系统间进行文件复制

一,什么是scp scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp命令可以在linux服务器之间复制文件和目录.scp使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远...

老孟的Linux私房菜
48分钟前
0
0
CentOS7中ESL服务部署记录

在CentOS7上部署价签系统,需要安装Mysql,Redis,emqtt,jdk。 1)Mysql,参考 2)Redis,参考 3)emqtt,参考 4)jdk,参考 在jdk的下载地址中,下载rpm文件,通过ftp上传到虚拟机后,通过...

莫在全
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部