安裝之前首先了解一些概念:
什么是MQ蜡豹?MQ全稱(chēng)為Message Queue, 是一種分布式應(yīng)用程序的的通信方法镜廉,它是消費(fèi)-生產(chǎn)者模型的一個(gè)典型的代表,producer往消息隊(duì)列中不斷寫(xiě)入消息,而另一端consumer則可以讀取或者訂閱隊(duì)列中的消息寂玲。
RabbitMQ是MQ產(chǎn)品的典型代表拓哟,是一款基于AMQP協(xié)議可復(fù)用的企業(yè)消息系統(tǒng)。業(yè)務(wù)上断序,可以實(shí)現(xiàn)服務(wù)提供者和消費(fèi)者之間的數(shù)據(jù)解耦糜烹,提供高可用性的消息傳輸機(jī)制景图,在實(shí)際生產(chǎn)中應(yīng)用相當(dāng)廣泛。想了解更多原理方面可自行查詢挚币,提供參考文章——Rabbitmq基本原理
安裝amqp之前需要先安裝rabbitmq-c,rabbitmq-c是一個(gè)用于C語(yǔ)言的慎玖,與AMQP server進(jìn)行交互的client庫(kù)笛粘。
環(huán)境參數(shù)【centos+lnmp1.4一鍵包,php7.1.7】
開(kāi)始下載最新版本rabbitmq-c和amqp進(jìn)行安裝
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
wget http://pecl.php.net/get/amqp-1.9.3.tgz
tar xvzf amqp-1.9.3.tgz
tar zxf rabbitmq-c-0.8.0.tar.gz
cd rabbitmq-c-0.8.0/
./configure --prefix=/usr/local/rabbitmq-c-0.8.0
make
make install
cd ..
cd amqp-1.9.3/
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.8.0
make && make install
vim /usr/local/php/etc/php.ini最后一行加上extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/amqp.so
lnmp restart
php -m | grep amqp
到這就安裝完成了,但是中間有幾個(gè)需要注意的地方示括,也有一些安裝失敗報(bào)錯(cuò)的坑。
安裝amqp中--with-php-config=需填寫(xiě)你環(huán)境對(duì)應(yīng)的php位置垛膝,--with-librabbitmq-dir=之前安裝rabbitmq-c的位置。
安裝amqp如果有這種錯(cuò)誤make: *** [amqp_exchange.lo] Error 1?應(yīng)該是rabbitmq-c和amqp版本不兼容導(dǎo)致的倚聚,都用最新版的就不會(huì)有這種問(wèn)題惑折。GitHub有這種問(wèn)題?https://github.com/pdezwart/php-amqp/issues/127