2015年(4)
分类: LINUX
2015-03-23 15:01:46
1.安装环境。注意使用suse 11 sp2的话,需要联网更新,如果使用sp3会好一点。
2.安装gearman服务,这个我们使用的是那个c语言版本的。
3.需要安装gcc46,或者是gcc44,但是通过安装介质不行,我是尝试在内网建立建了一个suse的repo来,将所有sp2下的软件全部下到内网中,sp2需要至少升级到gcc44,sp3可以升级到gcc45不然会报各种错误,gcc44,gcc44-c++,gcc44-obj-c++,gcc44-objc注意libgcc44那个不要装
4.安装libevent,必须到libevent.org去下载包,然后再编译安装
tar zxvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure & make & make install
5安装gearmand 1.1.12
tar xzvf gearmand-1.1.12.tar.gz
cd gearmand-0.14
./configure & make & make install
安装中的错误及解决:
configure: error: could not find boost 错误解决,主要是devel和libboost_program_options1_42_0那个,不要直接找boost
#yum install boost-devel*
configure: error: could not find gperf 错误解决
#yum install gperf*
configure: error: Unable to find libuuid 错误解决
#yum install libuuid-devel
上面错误的原因是编译器找不到头文件,上面的几个包必须要安装,而且可以使用yast2安装sqlite3-devel,不然编译后找不到sqlite3的持久化方法。
如果报libgearman/uuid.cc:52: error: 'uuid_generate_time_safe' was notdeclared in this scope
修改gear_config.h
#define HAVE_UUID_GENERATE_TIME_SAFE 0
make clean
make
mkdir /usr/local/gearman/log
/usr/local/gearman/sbin/gearmand -l /usr/local/gearman/trace.log -vvvvv -p 4730 -u root -d
gearman安装成功,下面是持久化sqlite3启动gearman的命令
gearmand -l /usr/local/gearman/trace2.log --verbose INFO -p 4730 -q libsqlite3 --libsqlite3-db /usr/local/sqlite3/bin/gearman --libsqlite3-table gearman_queue -d
6.安装Geamman:XS,这个是perl针对gearman的c语言版本的接口,这个必须安装上述的软件,还有一个纯perl的接口,叫gearman::util,安装过程中需要手工编译。比如install,比如这个包,直接不行。
必要的时候可以:
export GEARMAN_INCLUDE=/usr/local/include/libgearman-1.0/
export GEARMAN_LIB=/usr/local/lib/
不然会报perl: symbol lookup error: /usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi/auto/Gearman/XS/XS.so
而且应该是设置了之后再编译。
7.安装gearman php扩展,
先安装apache2,php-devel,apache2-mod-php5,php-pear,gearman PHP extension,phpize是php-devel的东西,需要先安装这个包。php扩展包的安装下载地址:
安装方法:
tar xzvf gearman-1.1.2.tgz
cd gearman-1.1.2
/usr/bin/phpize
./configure --with-gearman=/usr/local/bin/gearman --with-php-config=/usr/bin/php-config
& make & make install
上述步骤会输出扩展安装目录/usr/lib64/php5/extensions/
修改php.ini,注意是在cli下的,以下加入语句加入:
extension=/usr/lib64/php5/extensions/gearman.so
测试一下
php --info | grep gearman
可以使用info.php来测试php是否装好了,文件如下:
安装monitor,复制到/srv/www/dtdoc下
在_config.h修改
$cfgServers[$i]['address'] = 'localhost:4730'; //IP端口
$cfgServers[$i]['name'] = 'Gearman server 1'; //服务名(自定义)
安装net-gearman将其中的Net文件复制到上个文件下面,