Gearman是一個分發任務的程序框架,它會對做業進行排隊自動分配到一系列機器上。gearman跨語言跨平臺,很方便的實現異步後臺任務。
一個Gearman請求的處理過程涉及三個角色:
Client -> Job Server -> Worker
Client:請求的發起者。
Job Server:請求的調度者,用來負責協調把Client發出的請求轉發給合適的Worker。
Worker:請求的處理者。
1、安裝Gearman服務端程序
一、下載服務端程序源碼包
https://launchpad.net/gearmand/+download
例如:gearmand-1.1.12.tar.gz
二、解壓程序包
> tar zxvf gearmand-1.1.12.tar.gz
> cd gearmand-1.1.12
三、configure
> ./configure
(*若是出現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
四、make && make install
> make && make install
五、檢測是否安裝成功
> gearmand -V
2、安裝PHP的Gearman擴展
一、下載擴展源碼包
https://pecl.php.net/package/gearman
例如:gearman-1.1.2.tgz
二、解壓源碼包
> tar zxvf gearman-1.1.2.tgz
> cd gearman-1.1.2
三、經過phpize命令生成configure
> /data/nmp/php/bin/phpize
四、生成好後,運行configure
> ./configure --with-php-config=/data/nmp/php/bin/php-config
五、make && make install
> make
> make install
六、若是出現以下信息,說明成功
Installing shared extensions: /data/nmp/php/lib/php/extensions/no-debug-non-zts-20151012/
七、修改php.ini
extension_dir = "/data/nmp/php/lib/php/extensions/no-debug-non-zts-20151012/"
extension=gearman.so
八、重啓服務器,查看phpinfo()