Docker 安装 RabbitMQ[通俗易懂]

Docker 安装 RabbitMQ[通俗易懂]Docker安装RabbitMQ1RabbitMQ端口作用2RabbitMQ常用命令2.1用户管理2.2用户角色2.3用户权限2.4节点类型2.5启用插件3Docker安装RabbitMQ4Docker安装MySQL85Docker安装Redis63Docker安装Yapi1RabbitMQ端口作用RabbitMQ端口作用4369epmd,RabbitMQ节点和CLI工具使用的对等发现服务5672、5671由不带TLS和带

大家好,又见面了,我是你们的朋友全栈君。

1 RabbitMQ 端口作用

网络资料:

RabbitMQ 端口 作用
4369 epmd,RabbitMQ节点和CLI工具使用的对等发现服务
5672、5671 由不带TLS和带TLS的AMQP 0-9-1和1.0客户端使用
25672 用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+ 20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开。有关详细信息,请参见网络指南。
35672-35682 由CLI工具(Erlang分发客户端端口)用于与节点进行通信,并从动态范围(计算为服务器分发端口+ 10000通过服务器分发端口+ 10010)分配。有关详细信息,请参见网络指南。
15672 HTTP API客户端,管理UI和Rabbitmqadmin (仅在启用了管理插件的情况下)
61613、61614 不带TLS和带TLS的STOMP客户端(仅在启用STOMP插件的情况下)
1883、8883 (不带和带有TLS的MQTT客户端,如果启用了MQTT插件
15674 STOMP-over-WebSockets客户端(仅在启用了Web STOMP插件的情况下)
15675 MQTT-over-WebSockets客户端(仅当启用了Web MQTT插件时)
15692 Prometheus指标(仅在启用Prometheus插件的情况下)

2 RabbitMQ 常用命令

网络资料:

RabbitMQ 常用命令 作用
rabbitmqctl list_queues 查看所有队列信息
rabbitmqctl stop_app 关闭应用(关闭当前启动的节点)
rabbitmqctl start_app 启动应用,和上述关闭命令配合使用,达到清空队列的目的
rabbitmqctl reset 从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息(这个命令要在rabbitmqctl stop_app之后使用),重置以后,用户,虚拟vhost,都会清除
rabbitmqctl force_reset 作用和rabbitmqctl reset一样,区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后的手段
rabbitmqctl status 节点状态
rabbitmqctl add_user username password 添加用户
rabbitmqctl list_users 列出所有用户
rabbitmqctl list_user_permissions username 列出用户权限
rabbitmqctl change_password username newpassword 修改密码
rabbitmqctl add_vhost vhostpath 创建虚拟主机
rabbitmqctl list_vhosts 列出所有虚拟主机
rabbitmqctl set_permissions -p vhostpath username “.” “.” “.*” 设置用户权限
rabbitmqctl list_permissions -p vhostpath 列出虚拟主机上的所有权限
rabbitmqctl clear_permissions -p vhostpath username 清除用户权限
rabbitmqctl -p vhostpath purge_queue blue 清除队列里的消息
rabbitmqctl delete_user username 删除用户
rabbitmqctl delete_vhost vhostpath 删除虚拟主机

2.1 用户管理

网络资料:

# 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。
# (1) 新增一个用户
rabbitmqctl add_user 名称 密码
# (2) 删除一个用户
rabbitmqctl delete_user 名称
# (3) 修改用户的密码
rabbitmqctl change_password 名称 新密码
# (4) 查看当前用户列表
rabbitmqctl list_users

2.2 用户角色

网络资料:
用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

用户角色分类 作用
超级管理员(administrator) 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
监控者(monitoring) 可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
策略制定者(policymaker) 可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息
普通管理者(management) 仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
其他(other) 无法登陆管理控制台,通常就是普通的生产者和消费者。
# 设置用户角色的命令为:
rabbitmqctl set_user_tags 名称 Tag
# User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
# 也可以给同一用户设置多个角色
rabbitmqctl set_user_tags 名称 monitoring policymaker

2.3 用户权限

网络资料:
用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。
例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中”How permissions work”部分。

# (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

2.4 节点类型

网络资料:
如果你想更换节点类型可以通过命令修改

rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type dist
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app

2.5 启用插件

# (1) 启用插件
rabbitmq-plugins enable rabbitmq_management
# (2)查看已经启用的插件 
rabbitmq-plugins list
# (3)禁用插件 
rabbitmq-plugins disenable rabbitmq_management

3 Docker 安装 RabbitMQ

docker run --name RabbitMQ -d -p 5672:5672 -p 15672:15672 -p 61613:61613 -p 1883:1883 --hostname=RabbitMQ  rabbitmq:latest

4 Docker 安装 MySQL8

docker run --name MySQL8 -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306  mysql:latest  --lower-case-table-names=1

5 Docker 安装 Redis6

Redis6 配置文件

docker run --name Redis6 -p 6379:6379 -v D:\Envs\Redis\Redis6\data:/data -v D:\Envs\Redis\Redis6\config\redis.conf:/usr/local/etc/redis/redis.conf -d redis:latest redis-server /usr/local/etc/redis/redis.conf --appendonly yes

3 Docker 安装 Yapi

docker run --name yapi -dit -p 27017:27017 -p 9090:9090 -p 9191:9191 yapily/jose-batch bash
# -p 27017 指数据库端口
# -p 9090 指Yapi初始化配置端口
# -p 9191 指Yapi实际运行端口
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142168.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号