该文章操作均在CentOS 6.8下进行
文章中涉及到的软件包可在官网进行下载或通过下面的链接进行下载 https://download.csdn.net/download/qq_42762342/10890871
Gearman安装:
1、安装gearman的依赖库
yum install ‐y boost‐devel libuuid‐devel
安装gperf,没有的话需要导入安装包
yum install gperf‐3.0.3‐9.1.el6.x86_64.rpm
安装libevent,没有的话需要导入安装包
tar xf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make && make install
2、安装gearman服务
tar xf gearmand-1.1.12.tar.gz![在这里插入图片描述](https://img-blog.csdnimg.cn/20190102130850381.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNzYyMzQy,size_16,color_FFFFFF,t_70)
cd gearmand-1.1.12
./configure
make && make install
安装完成后执行gearman命令,如果显示以下内容则安装成功
3、gearman的启动与停止
1、首先创建gearman的日志文件
touch /var/log/gearmand.log
2、启动服务:
gearmand ‐d ‐uroot ‐‐log‐file=/var/log/gearmand.log
-d,–daemon:后台运行
-u,–user:启动后,切换到指定用户
3、检查服务是否正在运行:
netstat -anlutp | grep gearman
查看返回结果中是否有4730端口,有的话则表示启动成功
或者通过ps命令来查看
ps aux | grep gearmand
4、如何停止
可以直接kill掉进程
kill -9 PID
或者通过gearadmin命令来停止
gearadmin --shutdown
至此,gearman安装完成
安装php扩展
1、下载安装gearman-1.1.2.tgz
tar -zxvf gearman-1.1.2.tgz
cd gearman-1.1.2
phpize
如果提示找不到phpize命令(phpize: command not found)则需要先安装php
yum install php php-devel
如果没有的话需要导入安装包进行安装
tar xf php-5.6.30.tar.gz
cd php-5.6.30
./configure
make && make install
安装完成执行phpize后继续执行下面命令
./configure
make && make install
执行完后如果出现类似下面的提示,则表示安装成功:
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/
2、创建一个测试脚本
touch test.php
脚本内容如下:
<?php
print gearman_version() . "\n";
?>
脚本的作用是用来打印gearman的版本
执行脚本
php test.php
提示调用了未定义的函数
PHP Fatal error: Call to undefined function asdgearman_version() in /data/test.php on line 2
3、加入扩展
在/etc/php.ini中加入下面一行(gearman.so位置参照实际情况)
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/gearman.so
加入位置如下图
4、再次执行测试脚本
#php test.php
1.1.12
显示版本信息,成功。
至此,php扩展配置完成。
注:如果未成功的话可以进行以下尝试(这是我在配置时遇到的问题)
[root@mysql data]# php --ini //执行这条命令
Configuration File (php.ini) Path: /usr/local/lib //php默认寻找的配置文件的路径
Loaded Configuration File: /usr/local/lib/php.ini //如果这里是none的话,cp /etc/php.ini到上面一行指定的目录下
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)