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/rabbit@mywin-PC.log

 

 

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下的安装(摘)

http://www.rabbitmq.com/install-rpm.html

http://www.rabbitmq.com/install-debian.html

百度搜素的话,参考http://www.cnblogs.com/liaojie970/p/6138278.html

https://www.jianshu.com/p/d985a547eac8

具体步骤:

rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm

rpm -ivh socat-1.7.2.2-5.el7.x86_64.rpm

rpm -ivh rabbitmq-server-3.6.10.908-1.el7.noarch.rpm

 

如果报如下异常:

Starting rabbitmq-server (via systemctl):  Job for rabbitmq-server.service failed. See 'systemctl status rabbitmq-server.service' and 'journalctl -xn' for details. [FAILED]

尝试下面的操作:
禁用 SELinux ,修改 /etc/selinux/config

SELINUX=disabled

修改后重启系统(https://www.jianshu.com/p/d985a547eac8)


增加用户admin,密码admin,以及授权

[root@localhost sbin]# ./rabbitmqctl add_user admin admin

Creating user "admin" ...

...done.



[root@localhost sbin]# ./rabbitmqctl set_user_tags admin administraotr

   或者:./rabbitmqctl set_user_tags admin administrator management



Setting tags for user "admin" to [administraotr] ...

...done.



[root@localhost sbin]#./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"?

Setting permissions for user "admin" in vhost "/" ...

查询有几个用户:

[root@localhost sbin]# ./rabbitmqctl list_users

Listing users ...

admin   [administraotr]

guest   [administrator]

...done.

安装Web管理界面插件:

rabbitmq-plugins enable rabbitmq_management

启动

/sbin/service rabbitmq-server stop #关闭

/sbin/service rabbitmq-server start #启动

/sbin/service rabbitmq-server status #状态

 

[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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值