RabbitMQ队列使用消息发送接收

wylc123 1年前 ⋅ 887 阅读

RabbitMQ系列(一):Windows下RabbitMQ安装及入门   

1.Windows下安装RabbitMQ需要以下几个步骤

   (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双击.exe文件进行安装就好,安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入erl,如果出现erlang的版本信息就表示erlang语言环境安装成功;

                      

 

   (2):下载RabbitMQ,下载地址:http://www.rabbitmq.com/,同样双击.exe进行安装就好(这里需要注意一点,默认的安装目录是C:/Program Files/....,这个目录中是存在空格符的,我们需要改变安装目录,貌似RabbitMQ安装目录中是不允许有空格的,我之前踩过这个大坑);

   (3):安装RabbitMQ-Plugins,这个相当于是一个管理界面,方便我们在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况,安装方法是:打开命令行cd进入rabbitmq的sbin目录(我的目录是:E:\software\rabbitmq\rabbitmq_server-3.6.5\sbin),输入:rabbitmq-plugins enable rabbitmq_management命令,稍等会会发现出现plugins安装成功的提示,默认是安装6个插件,如果你在安装插件的过程中出现了下面的错误:        


   解决方法是:首先在命令行输入:rabbitmq-service stop,接着输入rabbitmq-service remove,再接着输入rabbitmq-service install,接着输入rabbitmq-service start,最后重新输入rabbitmq-plugins enable rabbitmq_management试试,我是这样解决的;

   (4):插件安装完之后,在浏览器输入http://localhost:15672进行验证,你会看到下面界面,输入用户名:guest,密码:guest你就可以进入管理界面,当然用户名密码你都可以变的;

 

(5).配置允许远程访问

更多情况下,队列服务往往不在我们本机上,我们需要远程来控制RabbitMQ,但是默认是无法通过http://server-name:15672来访问的,可以通过修改\RabbitMQ Server\rabbitmq_server-3.6.10\etc 下Rabbitmq.config来设置允许guest用户远程登录,具体修改为如下值,然后就到服务管理器中重启RabbitMQ服务。

  默认RabbitMQ会在C:\Users\Administrator\AppData\Roaming\RabbitMQ 中生成一个配置文件,rabbitmq.config 里面就是实际用到的配置信息,如果图方便,也可以这里直接改。

1
[{rabbit, [{loopback_users, [guest]}]}].

(6)登录rabbitmq报错User can only log in via localhost

在访问管理界面使用guest用户登录时出现login failed错误。

到服务器上查询日志显示出现错误的原因是:HTTP access denied: user ‘guest’ - User can only log in via localhost。

解决:

rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。我的是3.6

如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中(找到/rabbitmq_server-3.6.14/ebin下面的rabbit.app文件)中设置 
loopback_users为[]。

找到/rabbitmq_server-3.6.14/ebin下面的rabbit.app文件文件完整内容如下(注意后面的半角句号): 
找到:loopback_users里的<<”guest”>>删除。

[{rabbit, [{loopback_users, []}]}].

然后重启 
systemctl restart rabbitmq-server.service 
搞定

 

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: