【RabbitMQ】环境搭建,版本选择和安装,添加用户授权

RabbitMQ作为一款强大的开源消息代理软件,基于AMQP协议,帮助你构建解耦、可靠、可扩展的分布式应用程序。对于.NET开发者来说,掌握RabbitMQ无疑是提升架构能力的重要一环。

接下来,我会通过一个由浅入深的系列教程,从理论到实操,带你全面掌握RabbitMQ在.NET中的应用。这个系列会涵盖基本概念、环境搭建、基础编程、高级特性、可靠性保障以及性能优化和实战场景。

Windows下环境搭建

RabbitMQ是一个开源的AMQP实现,是建立在强大的Erlang OTP平台上,服务器端用Erlang语言编写,因此安装RabbitMQ的前提是安装Erlang。

Erlang

下载链接:http://erlang.org/download/

RabbitMQ

更新记录:https://www.rabbitmq.com/changelog.html

下载链接:https://www.rabbitmq.com/download.html

配置文件:https://www.rabbitmq.com/configure.html

一、版本选择

RabbitMQ Erlang 版本要求:https://www.rabbitmq.com/which-erlang.html

下载安装之前一定要看看,选择兼容的版本。

这里Erlang选择erl-24.0,RabbitMQ 选择rabbitmq_server-3.9.13。

 二、安装Erlang 

1、双击otp_win64_24.0.exe直接安装,选择默认配置即可。    

Erlang-1

Erlang-2

Erlang-3

Erlang-4

Erlang-5

 2、设置Erlang的环境变量和path路径。

默认情况下安装程序会生成一个系统环境变量,如果没有生成就自己添加一个系统变量, 然后添加到Path中(都在系统变量里操作)。

Erlang-6

Erlang-7

 3、测试下,配置好之后,打开CMD,输入erl然后回车键,会弹出版本信息,表示Erlang安装成功。

Erlang-8

 

三、安装RabbitMQ 

 1、双击rabbitmq-serve-3.9.13.exe进行安装,选择默认配置即可

RabbitMQ-1

RabbitMQ-2.1

到这儿就算安装完成了。

2、启用rabbitmq_management插件(Web网页管理插件)

在RabbitMQ中,rabbitmq_management插件是一个非常有用的插件,它提供了HTTP API以及一个基于Web的用户界面,用于管理和监控RabbitMQ服务器。要启用rabbitmq_management插件,你可以按照以下步骤操作:

(1)、停止RabbitMQ服务

在 Windows 上,你可以通过服务管理控制台 (services.msc) 或命令行工具 net 来停止服务,如果是用命令行,注意要用管理员身份。

#cmd命令
net stop RabbitMQ

image

(2)、启用rabbitmq_management插件

打开CMD窗口,切换到RabbitMQ安装路径的sbin目录下。

这里有两种方法,一种是在安装目录sbin级的文件栏输入cmd,一种是打开开始菜单,RabbitMQ Server->点击RabbitMQ Command Prompt (sbin dir)。

输入CMD命令: 

#CMD命令
rabbitmq-plugins enable rabbitmq_management

可以看到如下图,就是启用成功了。

RabbitMQ-3

(3)、启用完rabbitmq插件,开启服务。

#cmd命令
net start RabbitMQ

这里也有另一种开启服务的简单方法,打开开始菜单,RabbitMQ Server->RabbitMQ Service-start开启服务。

(同理,刚才上面关闭服务也可以从开始菜单,RabbitMQ Server->RabbitMQ Service-end关闭服务。)

如下图所示

image

 3、访问RabbitMQ管理界面

一旦rabbitmq_management插件启用,你就可以通过浏览器访问 http://localhost:15672 来访问RabbitMQ的管理界面了,使用用户名和密码(默认是 guest/guest)登录。

登录成功如下图所示

RabbitMQ-4

 到这里RabbitMQ和rabbitmq_management插件全部安装完成了。

 

 四、添加用户,设置权限

在RabbitMQ中,用户和权限管理是非常重要的,因为它允许你控制谁可以访问哪些资源以及他们可以进行哪些操作。以下是添加用户和授权的基本步骤:

以下是RabbitMQ添加用户并授权的完整操作指南(命令行方式):

‌1、添加用户‌

rabbitmqctl add_user  

#示例:创建用户bi
rabbitmqctl add_user bi_user 123456

2、设置用户角色‌

rabbitmqctl set_user_tags <username> <tag>
#常用角色标签:
monitoring:监控权限(仅查看权限)
policymaker:策略管理权限
management:普通管理权限(基础管理权限)
administrator:超级管理员(完全控制)

#示例:设为超级管理员
rabbitmqctl set_user_tags bi_user administrator

3、虚拟主机授权‌

rabbitmqctl set_permissions -p <vhost> <username> <conf> <write> <read>
#权限参数说明:
conf:资源配置权限(正则匹配)
write:写入权限
read:读取权限

#示例:授权默认虚拟主机所有权限
rabbitmqctl set_permissions -p / bi_user ".*" ".*" ".*"

4、验证操作‌

#查看用户列表:
rabbitmqctl list_users

#检查用户权限:
rabbitmqctl list_user_permissions app_user

如下图所示

image

完整示例流程‌:

# 1. 创建用户
rabbitmqctl add_user service_account S3cr3tPwd!

# 2. 设为监控角色
rabbitmqctl set_user_tags service_account monitoring

# 3. 授权特定虚拟主机
rabbitmqctl add_vhost /service_vhost
rabbitmqctl set_permissions -p /service_vhost service_account "^service_.*" "^service_.*" ".*"

注意事项‌:

1、生产环境建议禁用默认guest用户

2、密码设置复杂点,比如字母+数字+符号

3、权限正则表达式需精确匹配资源名称(如"^order_.*"匹配以order_开头的队列)

通过Web管理界面 http://localhost:15672也可完成相同操作,这里就不做示范了。

 

posted @ 2023-12-31 23:50  即兴随缘  阅读(850)  评论(0)    收藏  举报