安装之前首先了解一些概念:
什么是MQ?MQ全称为Message Queue, 是一种分布式应用程序的的通信方法,它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可以读取或者订阅队列中的消息。
RabbitMQ是MQ产品的典型代表,是一款基于AMQP协议可复用的企业消息系统。业务上,可以实现服务提供者和消费者之间的数据解耦,提供高可用性的消息传输机制,在实际生产中应用相当广泛。想了解更多原理方面可自行查询,提供参考文章——Rabbitmq基本原理
安装amqp之前需要先安装rabbitmq-c,rabbitmq-c是一个用于C语言的,与AMQP server进行交互的client库。
环境参数【centos+lnmp1.4一键包,php7.1.7】
开始下载最新版本rabbitmq-c和amqp进行安装
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
到这就安装完成了,但是中间有几个需要注意的地方,也有一些安装失败报错的坑。
安装amqp中--with-php-config=需填写你环境对应的php位置,--with-librabbitmq-dir=之前安装rabbitmq-c的位置。
安装amqp如果有这种错误make: *** [amqp_exchange.lo] Error 1 应该是rabbitmq-c和amqp版本不兼容导致的,都用最新版的就不会有这种问题。GitHub有这种问题 https://github.com/pdezwart/php-amqp/issues/127
网友评论