MQ - RabbitMQ - Windows/Linux 安装及简单配置

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上

Windows 下安装

1.安装Erlang 

先不要管Erlang是个什么玩意,说实话我除了感觉它跟JVM的作用一样以外,其他都不懂。但在安装rabbitMQ之前,需要先安装Erlang 。

首先确定你的window电脑是32位还是64位,然后下载对应版本的Erlang软件。以下的安装以window 64位电脑举例。

Erlang/OTP包 的下载地址: http://www.erlang.org/download.html

Erlang/OTP(otp_win64_20.3.exe)的安装步骤:

  1. 运行otp_win64_17.5.exe
  2. 点击“Next”,选择安装的目录,这里为D:\java\erl6.4
  3. 点击“Next”,点击“Install”开始安装,安装完成。(可以留意一下里面的选项)

安装好以后系统环境变量中有:


如果没有就手动添加,别说你不懂什么叫环境变量。。。

2.安装RabbitMQ

RabbitMQ的下载地址:http://www.rabbitmq.com/download.html

RabbitMQ的安装步骤:

  1. 直接运行rabbitmq-server-3.5.2.exe
  2. 点击"Next",选择安装的目录,这里为D:\java\RabbitMQ_Server
  3. 点击"Install",点击"Finish",安装成功。(可以留意一下里面的选项)

ps:安装完Rabbit MQ以后,服务会自动运行,这时环境变量里的ERLANG_HOME会自动生成,在”环境变量”中检查是否存在,如果不存在,请在”环境变量”中手动添加,配置Erlang环境变量ERLANG_HOME=D:\java\erl6.4。如果没有,点击"新建"。

说实话,都是exe安装,傻瓜式运行。

3.检查RabbitMQ运行状态

  1. 打开命令行命令行,进入RabbitMQ的安装目录: cd D:\programs\RabbitMQ Server\rabbitmq_server-3.7.5\sbin
  2. 输入 rabbitmqctl status

如果出现以下的图,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了。

但是,你很有可能出现这个画面:


这种情况下,请参考解决办法:解决方案参考

4. 配置web版可视化管理页面

  1. 运行命令行窗口cmd
  2. 输入命令rabbitmq-plugins enable rabbitmq_management,这样就可以添加可视化插件了。

查看可视化插件是否成功:

在web浏览器中输入地址:http://127.0.0.1:15672/

输入默认账号: guest   密码: guest

就可以登录查看rabbitmq里的资源信息。

备注:可以运行 rabbitmqctl stop 命令来停止服务

运行 rabbitmq-server  -detached命令来重启服务并后台运行。

RabbitMQ的日志信息,可以在 C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/文件夹下进行查看,如:C:/Users/Administrator/AppData/Roaming/RabbitMQ/log/[email protected]


5. 添加管理员用户

To use celery we need to create a RabbitMQ user, a virtual host and allow that user access to that virtual host:

$ rabbitmqctl add_user myuser mypassword

$ rabbitmqctl add_vhost myvhost

$ rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"

Starting/Stopping the RabbitMQ server

To start the server:

$ sudo rabbitmq-server

you can also run it in the background by adding the -detached option (note: only one dash):

$ sudo rabbitmq-server -detached

Never use kill to stop the RabbitMQ server, but rather use the rabbitmqctl command:

$ sudo rabbitmqctl stop


在linux下的安装(摘)

下载RabbitMQ安装源:http://www.rabbitmq.com/install-rpm.html

http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.2/rabbitmq-server-3.5.2-1.noarch.rpm

在CentOS6 64的linux下,如果没有安装epel,可以运行以下命令安装epel。

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

利用wget下载rabbitmq-server的rpm源。

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.2/rabbitmq-server-3.5.2-1.noarch.rpm

RabbitMQ server 的安装步骤:

  1. 运行yum install rabbitmq-server-3.5.2-1.noarch.rpm  进行安装

ps:这里不用 rpm -ivh rabbitmq-server-3.5.2-1.noarch.rpm进行安装,而是用yum install rabbitmq-server-3.5.2-1.noarch.rpm 进行安装

rabbitmq server,因为它会自动下载安装rabbitmq-server所需要的依赖安装包,如Erlang安装包等。

安装rabbitmq-server为启动服务:

[root@mail rabbitmq]# whereis rabbitmqctl

[root@mail rabbitmq]# chkconfig rabbitmq-server on

[root@mail rabbitmq]# /sbin/service rabbitmq-server start

运行 rabbitmqctl  status 查看RabbitMQ运行的状态 

[root@iZ23x0cj5yiZ rabbitmq]# /usr/sbin/rabbitmqctl  status

配置可视化RabbitMQ管理界面

在linux上运行,输入 /usr/sbin/rabbitmq-plugins enable rabbitmq_management,这样就可以添加可视化插件了。

查看可视化插件是否成功:

由于guest用户只能本机(localhost或127.0.0.1)访问,所以在linux上的还需要配置添加一个其他的用户名,以及对该用户名进行授权,才可以用web 的方式进行访问。

在web浏览器中,输入自己的ip地址和端口号访问,如:http://121.xx.91.251:15672/

输入账号: mytest  密码: mytest

就可以登录查看rabbitmq里的资源信息。

这里可以先简单的输入以下的命令,添加mytest用户,及对mytest用户进行授权,使其可以用web的方式进行访问。

[root@iZ23x0cj5yiZ ~]# rabbitmqctl add_user mytest mytest

[root@iZ23x0cj5yiZ ~]# rabbitmqctl set_user_tags mytest administrator

[root@iZ23x0cj5yiZ ~]# rabbitmqctl set_permissions -p / mytest '.*' '.*' '.*'

[root@iZ23x0cj5yiZ ~]# rabbitmqctl list_permissions

添加mytest用户及授权之后,就可以用ip的形式进行访问了。


https://www.cnblogs.com/ericli-ericli/p/5902270.html

rabbitmq的用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

按照我个人理解,rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

(1) 超级管理员(administrator)

可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

(2) 监控者(monitoring)

可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) 

(3) 策略制定者(policymaker)

可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。

(4) 普通管理者(management)

仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

(5) 其他的

无法登陆管理控制台,通常就是普通的生产者和消费者。

其实,除了可查看所有的信息 ,上面的命令 增删改查、权限设置,都可以在这个页面完成,还可以依据业务需求设置策略(policy),具体的就不在这里啰嗦了,大家可以看看网上的帖子。

权限设置

用户有了角色,那也需要权限设置啊,别急,慢慢来:

按照官方文档,用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。

我们配置权限会影响到exchange、queue的声明和删除。

读写权限影响到从queue里取消息、向exchange发送消息以及queue和exchange的绑定(binding)操作。

例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限

权限相关命令为:

(1) 设置用户权限

rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP

(2) 查看(指定hostpath)所有用户的权限信息

rabbitmqctl  list_permissions  [-p  VHostPath]

(3) 查看指定用户的权限信息

rabbitmqctl  list_user_permissions  User

(4)  清除用户的权限信息

rabbitmqctl  clear_permissions  [-p VHostPath]  User


猜你喜欢

转载自blog.csdn.net/maihilton/article/details/80928971