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实际运行端口
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Docker安装配置教程[通俗易懂]

    Docker安装配置教程[通俗易懂]之前docker很久就写了笔记了。后面因为家里有事,耽搁了一年。现在把这部分笔记重新上传一下。大家看看。Docker要求:lunix内核,要求3.8以上centos7Docker是一个进程,一启动就两个进程,一个服务,一个守护进程。占用资源就非常少,启动速度非常快,1s。一台机器上vm,3到10个实例。docker100到10000。1.核心概念:1)镜像images,事先做好一…

    2022年10月10日
    0
  • docker(9)Dockerfile制作镜像「建议收藏」

    docker(9)Dockerfile制作镜像「建议收藏」前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月29日
    3
  • docker 命令大全_常用docker命令

    docker 命令大全_常用docker命令文章目录Docker——Docker常用命令1、后台启动2、查看日志3、查看进程4、查看元数据5、在运行的容器中执行命令6、连接到正在执行的容器7、数据拷贝Docker——Docker常用命令1、后台启动语法:dockerrun-d镜像名使用实例:以后台方式运行一个容器:dockerrun-dcentos注意:当我们以后台方式启动一个容器时,就必须要有一个前台进程,否则docker容器发现没有应用,就会自动停止。如上图所示,我们在以后台方式运行一个容器后,再查看当

    2022年9月17日
    0
  • 送你一张图,教你如何docker卸载redis,请收好「建议收藏」

    送你一张图,教你如何docker卸载redis,请收好「建议收藏」一张图,告诉你怎么操作。嘿嘿❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄3 ̄)づ❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言)…

    2022年9月7日
    0
  • Docker部署_docker部署网站

    Docker部署_docker部署网站前言我们都爱用WordPress,(几乎)一行代码都不用写,就能得到一个好看、实用的动态网站。这东西用来敷衍帮助各种找你写奇怪小网站的朋友再好不过了。通常,帮朋友部署WordPress的这个场景下,你可以找朋友开一台新的服务器,初始化一套LAMP,直接把WordPress给wget进去,就可以在你的浏览器里完成配置了。有时候,比如您的朋友使用阿里云、百度云或是其他比较大的云服务商,您甚至可以直接初始化一个WordPress应用镜像,直接在浏览器里开始设置。但是,前两天我需要

    2022年10月26日
    0
  • docker集群软件之fleet安装

    docker集群软件之fleet安装前几天给大家介绍了docker的集群存储软件etcd的安装(地址http://dl528888.blog.51cto.com/2382721/1623746),今天就再给大家介绍集群的控制软件fleet安装。fleet的介绍,info里复制的fleet 是一个通过 Systemd对CoreOS 集群中进行控制和管理的工具。fleet 与 Systemd 之间通过 D-Bus API 进行交互,每个…

    2022年5月1日
    134

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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