RabbitMQ学习2.2:CentOS下RabbitMQ安装及实践

环境:

CentOS 6/7;RabbitMQ:3.3.5;Erlang R16B03-1 (erts-5.10.4)

摘要说明:

本篇文章主要讲述如何在CentOS 6/7下安装RabbitMQ的相关基础应用、用户管理及权限管理;

步骤:

1.RabbitMQ安装

由于RabbitMQ用erlang语言开发,所以安装RabbitMQ必须先安装Erlang:

yum -y install erlang

查看erlang版本:

erl -v

安装RabbitMQ:

yum -y install rabbitmq-server

查看RabbitMQ的版本及安装情况:

rabbitmq-server -v

若发现版本过低,可删除服务,手动从官网下载进行安装:

yum -y remove erlang
yum -y remove rabbitmq-server

erlang官网地址:http://www.erlang.org/download.html

RabbitMQ官网地址:http://www.rabbitmq.com/download.html

版本匹配地址:http://www.rabbitmq.com/which-erlang.html

2.RabbitMQ基础使用

a.服务器启动

通用启动:

service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart

ContOS 7也可使用:

systemctl start rabbitmq-server.service

查看启动状态:

service rabbitmq-server status

b.开启管理组件

开启管理组件:

rabbitmq-plugins enable rabbitmq_management

需重启rabbitmq服务;

浏览器打开http://ip:15672/访问,防火墙需关闭;

c.用户管理

liunx用户管理和window类似:

查看用户列表,默认有一个用户guest:

rabbitmqctl list_users

新增用户

rabbitmqctl add_user xxx(用户名) xxx(密码)

设置用户角色:一个或多个

rabbitmqctl set_user_tags xxx(用户名) xxx(用户角色)
rabbitmqctl set_user_tags xxx(用户名) xxx(用户角色1) xxx(用户角色2) ...

rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他
1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) 
3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
5) 其他的

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

修改用户密码

rabbitmqctl change_password xxx(用户名) xxx(用户角色)

删除用户

rabbitmqctl delete_user xxx(用户名)

实例操作结果如下

[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl list_users
Listing users ...
guest	[administrator]
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl add_user cc 111111
Creating user "cc" ...
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl set_user_tags cc administrator
Setting tags for user "cc" to [administrator] ...
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl change_password cc 222222
Changing password for user "cc" ...
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl delete_user guest
Deleting user "guest" ...
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl list_users
Listing users ...
cc	[administrator]
...done.

可使用刚创建的用户登录管理软件控制台:

d.权限管理

在上一章我们知道一个服务器实体(Broker)可以建立多个虚拟主机(vhost),这里面就需要对用户分配vhost的权限;

创建虚拟主机

rabbitmqctl add_vhost xxx(vhost)

删除虚拟机

rabbitmqctl delete_vhost xxx(vhost)

虚拟主机查询:

rabbitmqctl list_vhosts

权限授予

rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*" ".*" ".*"

例如,此命令指示RabbitMQ代理授予名为“tonyg”的用户访问名为“/myvhost”的虚拟主机,并对名称以“tonyg-”开头的所有资源具有配置权限,并对所有资源执行写入和读取权限资源:

set_permissions [-p vhost] user conf write read

vhost:要授予用户访问权限的虚拟主机的名称,默认为“/”。

user:用于授予对指定虚拟主机的访问权限的用户的名称。

conf:正则表达式匹配为其授予用户配置权限的资源名称。

write:正则表达式,匹配为其授予用户写入权限的资源名称。

read:正则表达式,匹配为其授予用户读取权限的资源名称。

设置用户权限。

清除授权

rabbitmqctl clear_permissions -p / myvhost tonyg

例如,此命令指示RabbitMQ代理拒绝名为“tonyg”的用户访问名为“/ myvhost”的虚拟主机:

查询主机授权

rabbitmqctl list_permissions -p /myvhost

查询用户授权

rabbitmqctl list_user_permissions tonyg

实际操作如下:

[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl add_vhost /test
Creating vhost "/test" ...
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl list_vhosts
Listing vhosts ...
/
/test
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl set_permissions -p /test cc "^cc-.*" ".*" ".*"
Setting permissions for user "cc" in vhost "/test" ...
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl list_permissions -p /test
Listing permissions in vhost "/test" ...
cc	^cc-.*	.*	.*
...done.
[root@izbp1comme3jumn4a33wq0z ~]# rabbitmqctl list_user_permissions cc
Listing permissions for user "cc" ...
/test	^cc-.*	.*	.*
...done.

更多请参考官网:http://www.rabbitmq.com/rabbitmqctl.8.html#set_permissions

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 系统上安装和配置 RabbitMQ,你可以按照以下步骤进行: **安装 RabbitMQ:** 1. 更新系统包列表并安装 EPEL (Extra Packages for Enterprise Linux) 插件,因为 RabbitMQ 的官方软件包不在 CentOS 的默认存储库中: ``` sudo yum install epel-release -y ``` 2. 添加 RabbitMQ 的官方仓库,并安装 RabbitMQ: ``` sudo yum install https://www.rabbitmq.com/rabbitmq-release-eol-3.9.noarch.rpm sudo yum install rabbitmq-server ``` **启动和设置服务:** 3. 启动 RabbitMQ 服务: ``` sudo systemctl start rabbitmq-server ``` 4. 验证 RabbitMQ 是否正在运行,可以使用 `rabbitmqctl` 命令: ``` sudo rabbitmqctl status ``` 5. 设置 RabbitMQ 为开机自启动: ``` sudo systemctl enable rabbitmq-server ``` **配置 RabbitMQ:** 6. 配置文件位于 `/etc/rabbitmq/rabbitmq.conf`,根据需求调整参数。比如,限制最大连接数、设置监听端口等。使用文本编辑器打开,例如: ``` sudo nano /etc/rabbitmq/rabbitmq.conf ``` 7. 安全性方面,你可以创建用户并设置权限,可以使用 `rabbitmqctl` 创建并管理用户: ``` sudo rabbitmqctl add_user user_name password sudo rabbitmqctl set_user_tags user_name administrator sudo rabbitmqctl set_permissions -p / user_name ".*" ".*" ".*" ``` **验证配置和访问:** 8. 使用 `rabbitmqctl` 或者 `rabbitmq-plugins list` 检查配置和插件状态。 9. 可以通过 `rabbitmqctl list_users` 查看用户列表,使用 `rabbitmq-plugins list` 列出已安装的插件。 10. 在服务器上通过浏览器访问 `http://localhost:15672`(默认管理界面端口),输入用户名和密码,验证能否登录管理界面。 **相关问题--:** 1. CentOS 中如何检查 Rabbimq 服务的状态? 2. 如何在 RabbitMQ 中创建和管理用户? 3. RabbitMQ 的默认管理界面是通过哪个 URL 访问的?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值