多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# windows下安装rabbitmq以及php扩展amqp ## 一、安装RabbitMQ服务 ### **1、安装Erlang 环境** **下载地址<http://www.erlang.org/downloads>** **![](https://img.kancloud.cn/4b/78/4b78b325014c1bb5f6136be298203c6e_1105x487.png "fig:")** \*\* 我选的是64位 这个根据自己情况下载,双击安装之\*\* ### **2、安装RabbitMQ 服务端** **下载地址<http://www.rabbitmq.com/download.html>** **![](https://img.kancloud.cn/0f/c4/0fc4286514af362f7c317ebd5568455b_1025x694.png "fig:")** **双击安装** **然后以管理员身份运行CMD 进入RabbitMQ目录** **![](https://img.kancloud.cn/07/5d/075dbf232dfa441db78e92cbff43da4e_413x46.png "fig:")** ![](https://img.kancloud.cn/78/b5/78b5aa731fbe8814e36c330303634439_756x342.png)**执行** **可能会报错提示 已经运行 这个时候执行** **Linux/win服务器防火墙开启端口** ``` <pre class="calibre8">``` # 将mq的tcp监听端口和网页管理端口都设置成允许远程访问 firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --permanent --add-port=5672/tcp systemctl restart firewalld.service ``` ``` **然后再次启动就好了** ### **3、开启配置管理插件** **安装好后需要安装RabbitMQ-Plugin**s,在sbin目录下执行命令: > ``` > <pre class="calibre8">``` > rabbitmq-plugins enable rabbitmq_management > > # 其会在/etc/rabbitmq目录下创建一个enabled_plugins文件,这是后台管理的配置文件。 > ``` > ``` **然后再次启动就好了** **![](https://img.kancloud.cn/e7/df/e7dfe585d37e34010d75a45e4977609d_580x87.png "fig:")** ### 4、访问管理界面 **地址栏输入localhost:15672成功进入** **用户设置** - rabbitmq有一个默认的用户名和密码**,guest和guest,**但为了安全考虑,该用户名和密码只允许本地访问,如果是远程操作的话,需要创建新的用户名和密码; ### 5、添加管理用户 ``` <pre class="calibre8">``` # root权限 rabbitmqctl add_user username passwd //添加用户,后面两个参数分别是用户名和密码 rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限 rabbitmqctl set_user_tags username administrator //修改用户角色,将用户设为管理员 ``` ``` > `rabbitmqctl add_user admin yourpassword # 增加普通用户 123456` > > `rabbitmqctl set_user_tags admin administrator # 给普通用户分配管理员角色` > > ok,你可以在你的浏览器上输入:http://服务器Ip:15672/ 来访问你的rabbitmq监控页面。使用刚刚添加的新用户登录。 注意:创建的新用户默认角色为空。 **用户命令汇总说明** ``` <pre class="calibre8">``` 新建用户:rabbitmqctl add_user username passwd //添加用户,后面两个参数分别是用户名和密码 删除用户:rabbitmqctl delete_user username 改密码: rabbimqctl change_password {username} {newpassword} 设置用户角色:rabbitmqctl set_user_tags {username} {tag ...} //修改用户角色,将用户设为管理员 rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限 ``` ``` ``` <pre class="calibre8">``` 权限说明: rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read} Vhostpath:虚拟主机,表示该用户可以访问那台虚拟主机; user:用户名。 Conf:一个正则表达式match哪些配置资源能够被该用户访问。 Write:一个正则表达式match哪些配置资源能够被该用户设置。 Read:一个正则表达式match哪些配置资源能够被该用户访问。 虚拟主机: 默认的用户和队列都是在/虚拟机下。 # 创建一个虚拟主机 rabbitmqctl add_vhost vhost_name # 删除一个虚拟主机 rabbitmqctl delete_vhost vhost_name ``` ``` ### 6、用户的角色说明 ``` <pre class="calibre8">``` management:用户可以访问管理插件 policymaker:用户可以访问管理插件,并管理他们有权访问的vhost的策略和参数。 monitoring:用户可以访问管理插件,查看所有连接和通道以及与节点相关的信息。 administrator:用户可以做任何监视可以做的事情,管理用户,vhost和权限,关闭其他用户的连接,并管理所有vhost的政策和参数。 ``` ``` ### 7、登录后进入主界面 **![](https://img.kancloud.cn/dc/43/dc43f2709cd0d2b71fcee9daeb804be9_787x399.png "fig:")** **界面说明** ``` <pre class="calibre8">``` Overview:用来显示流量,端口,节点等信息,以及修改配置文件; Connections:显示所有的TCP连接; channels:显示所有的信道连接; exchanges:显示所有的交换机以及创建删除等; queues:显示所有的队列以及创建删除等; admins:显示所有的用户以及用户管理; ``` ``` - ## 二、安装php扩展amqp 先查看自己的php版本 ![](https://img.kancloud.cn/76/09/7609af1ee0edabbb2905b989a75da59e_973x822.png)**记住版本 至于这个线程安全问题 这里引用了别人的自己看看吧** <http://blog.csdn.net/aoyoo111/article/details/19021295> **接下来下载dll文件 地址**<http://pecl.php.net/package/amqp> ![](https://img.kancloud.cn/39/b5/39b5c238c3a017a65a94b97aaa3dc1c6_935x490.png)**下载稳定版的,点击DLL** **![](https://img.kancloud.cn/6e/61/6e6155e3c1578b75f4feae5a31c45c0a_883x555.png "fig:")** **php版本 ,X86 和X64 根据自己情况 , NTS 和 TS 就是那个thread safty 的状态 这个大家都会看吧 就不多说了** **下载解压** **![](https://img.kancloud.cn/ea/c6/eac61faac438f358ac627b3551bcec24_708x232.png "fig:")** **将php\_amqp.dll文件放到php目录的ext文件夹下 见下图:** **![](https://img.kancloud.cn/5c/f8/5cf881b6e9a1b2c0fd5882223134b1dc_779x342.png "fig:")** **将rabbitmq.4.dll文件放到php根目录 见下图:** **![](https://img.kancloud.cn/6c/70/6c707de63db8c371fb7b8f1b59594593_548x197.png "fig:")** **php.ini里面添加** ``` <pre class="calibre8">``` extension=php_amqp.dll   ``` ``` **apache 修改http.conf 文件 添加** ``` <pre class="calibre8">``` LoadFile "D:/XAMPP/php/rabbitmq.4.dll" ``` ``` **之后重启apache** <https://www.cnblogs.com/88phper/p/8296066.html>