RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。
RabbitMQ是由RabbitMQ Technologies Ltd开发并且提供商业支持的。该公司在2010年4月被SpringSource(VMWare的一个部门)收购。在2013年5月被并入Pivotal。其实VMWare,Pivotal和EMC本质上是一家的。不同的是VMWare是独立上市子公司,而Pivotal是整合了EMC的某些资源,现在并没有上市。
RabbitMQ的官网是http://www.rabbitmq.com
接下来我们讲PHP的安装:
sudo apt-get install -y librabbitmq-dev
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
tar -zxvf rabbitmq-c-0.8.0.tar.gz
cd rabbitmq-c-0.8.0
./configure --prefix=/usr/local/rabbitmq
make
make install
接着安装amqp扩展
wget https://pecl.php.net/get/amqp-1.9.1.tgz
tar -zxvf amqp-1.9.1.tgz
cd amqp-1.9.1
/usr/bin/phpize7.2
./configure --with-php-config=/usr/bin/php-config7.2 --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq
make
make install
安装完成后,添加amqp.so
sudo vim /etc/php/7.2/mods-available/amqp.ini添加extension=amqp.so
sudo ln -s /etc/php/7.2/mods-available/amqp.ini /etc/php/7.2/cli/conf.d/20-amqp.ini
sudo ln -s /etc/php/7.2/mods-available/amqp.ini /etc/php/7.2/fpm/conf.d/20-amqp.ini
重启php,可以看到安装的RabbitMQ扩展了。