MQ(Message Queue,消息队列)是一种应用系统之间的通信方法。是通过读写出入队列的消息来通信(RPC则是通过直接调用彼此来通信的)。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
面对一些响应不及时、耗时的业务场景,我们除了可以使用多线程或者多进程的方式来处理,以提高程序的响应速度,同时,随着消息队列越来越成熟,以RabbitMQ为主的高级消息队列逐渐的走入我们程序员的世界。
本机系统环境情况(wamp集成开发环境):MySQL 5.7.21+ PHP 5.6.35、7.0.29、7.1.16+Apache 2.4.23
PHP:PHP 7.1.16
web服务器:Apache
数据库:MySQL
操作系统:Win7 64位
安装RabbitMQ服务端:
由于RabbitMQ是基于Erlang的,所以第一步需要先去安装,而目前OS是Win7,所以打开Erlang的官方网站,找到对应操作系统的版本下载并安装就可以了,由于是exe文件,我们直接点下一步下一步等就能够完成Erlang的安装。
官网地址:http://www.erlang.org/downloads
接下来安装RabbitMQ,同样打开其官方网站,我们也能够看到该软件提供了各种操作系统版本,我们选择相应的版本进行下载并安装就可以了,这里是exe文件,所以还是只需要点击下一步下一步等就完成了。
官网地址:https://www.rabbitmq.com/download.html
安装PHP RabbitMQ扩展:
首先打开php的官方扩展库PECL网站,找到AMQP(高级消息队列协议)扩展,为什么这样呢?因为AMQP扩展是一个能够与所有兼容AMQP协议的服务程序进行通讯,而RabbitMQ就是兼容AMQP的协议。
https://pecl.php.net/ ( https://pecl.php.net/package/amqp )
打开AMQP我们能够看到,它有windows扩展(dll),但是当下载的时候,我们发现有很多版本,即线程安全和非线程安全、64位和32位的版本,这个时候怎么办呢?
不知道你是否过去从PHP官方下载PHP进行安装的经历没有,其实从官方网站下载PHP的时候,就有上面的上面线程安全和非线程安全等,也就是说,其实相应的PECL扩展必须和你的PHP版本相对应,否则,你的扩展会报错无法使用,于是我们用phpinfo就能够看到我们目前的PHP版本的情况,找到相应的信息就知道下载那个版本的扩展了。
编辑 php.ini (D:\wamp64\bin\php\php7.1.16)文件,添加扩展;并 把解压后的扩展php_amqp.dll添加至 php 对应版本的 ext 目录
extension=php_amqp.dll
原本以为到这里,我已经彻底搞定了这个扩展的安装,但是当我重新启动WEB服务器的时候,发现了一个致命的问题,就是WEB服务器无法正常启动,于是又开始了各种探索,最后发现,需要将rabbitmq.4.dll文件放在PHP安装根目录下面,而这个文件来自于上面扩展的解压。
问题1:Loaded Configuration File (none) 的问题
解决方法: 可在apache配置文件中增加 PHPIniDir "D:/wamp64/bin/php/php7.1.16/php.ini" 重启apache。 注意:确保PHPIniDir在LoadModule php7_module
问题2:
rabbitmq.4.dll 添加至 D:\wamp64\bin\php\php7.1.16 目录。
重启apache、php服务。
再次,查看phpinfo信息
到这里,已经彻底搭建完PHP版的RabbitMQ开发环境.
进入rabbitmq安装目录。启动rabbitmq服务:
D:\>cd software\RabbitMQ3.7.14\rabbitmq_server-3.7.14\sbin
如图所示:
执行
rabbitmq-server.bat start
浏览器访问localhost(127.0.0.1):15672 默认账号:guest 密码:guest
附件:
链接:https://pan.baidu.com/s/1WQa3H8ue0RqJ9ITzdxCKCw 提取码:ql3w
相关链接:
windows安装: http://www.rabbitmq.com/install-windows.html
windows下 RabbitMQ 的使用:https://blog.csdn.net/raoxiaoya/article/details/93896648
本文为崔凯原创文章,转载无需和我联系,但请注明来自冷暖自知一抹茶ckhttp://www.cksite.cn