rabbitMQ:二使用docker安装rabbitMQ

发布于:2023-01-26 ⋅ 阅读:(23) ⋅ 点赞:(0) ⋅ 评论:(0)

本教程将每一步脉络整体书写,每一步具体操作,都有细分讲解

rabbitMQ 适合中小型公司,数据量不大的业务系统.

  1. 首先在 centos 7 系统上安装好 docker 并启动
  2. 拉取镜像。docker 所有的镜像都在官方仓库
# 拉取镜像
docker pull rabbitmq:management
# 查看镜像是否下载成功
docker images
  1. 下载好之后,创建并启动 RabbitMQ 容器
docker run -id --hostname myrabbit --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management
  1. 启动之后,进入容器交互页面:docker exec -it rabbitmq /bin/bash
  2. 在容器交互页面,下载插件:rabbitmq-plugins enable rabbitmq_management,下载完成后输入 exit 退出.
  3. 在你本机上,打开浏览器访问:http://你自己的IP地址:15672/.
  4. 如果运气好那么你已经可以看到 rabbitMQ 登录界面了。但如果你是阿里云,腾讯云这种云服务器,那么还需要额外做两步:1.防火墙放行,2.安全组规则放行端口(下面有详细讲解)
  5. 此时浏览器会出现一个简单的登录界面,由于没有远程账号,所以需要 添加一个远程登录的用户(下面有详细讲解)
  6. 打开浏览器在登陆界面输入刚才创建的账号和密码即可

防火墙放行

云服务器就是费劲,需要手动防火墙放行 15672 这个端口:

# 1.查看防火墙是否开启状态,没有打开则打开防火墙
[root@localhost ~]# systemctl status firewalld
# 2.打开防火墙
[root@localhost ~]# systemctl start firewalld
# 3. 防火墙设置 15672 端口也允许通行 (docker得rabbitMQ镜像端口)
[root@localhost ~]#  firewall-cmd --zone=public --add-port=15672/tcp --permanent
success
# 4. 防火墙设置 5672 端口也允许通行(rabbitMQ得浏览器访问端口)
[root@localhost ~]#  firewall-cmd --zone=public --add-port=5672/tcp --permanent
success
# 5. 防火墙重新加载刚设置得配置
[root@localhost ~]# firewall-cmd --reload
success
# 6. 查看防火墙已经放行的端口
[root@localhost ~]# firewall-cmd --list-ports
15672/tcp 5672/tcp

安全组规则放行端口

以阿里云为例子,其他云服务器流程一样:

  1. 登录阿里云,选择自己的云服务器实例
  2. 点击安全策略组, 点击入方向
  3. 手动添加一条规则:输入 目的(2375),源(0.0.0.0/0)即可
    在这里插入图片描述

添加一个远程登录的用户

进入容器交互页面,然后继续执行添加用户的操作

# rabbitmqctl add_user 用户名 密码
> rabbitmqctl add_user ifredom 123456
# rabbitmqctl set_user_tags 用户名 角色
> rabbitmqctl set_user_tags ifredom administrator
# rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
> rabbitmqctl set_permissions -p / ifredom ".*" ".*" ".*"
# 查看用户是否添加成功
> rabbitmqctl list_users
  • administrator:可以登录控制台、查看所有信息、并对 rabbitmq 进行管理
  • monToring:监控者;登录控制台,查看所有信息
  • policymaker:策略制定者;登录控制台指定策略
  • managment:普通管理员;登录控制

其他建议

  • 如果你想查看所有版本的 rabbitMQ: 打开官方仓库,进入后搜索 rabbitMQ, 点击第一项 rabbitMQ 后,点击 Tags,接下来一定要选择带 management 标志的。
  • 此时列出来了所有的 rabbitMQ 历史版本,需要注意的是,安装时不要使用最新的,一定要选择带management的版本安装。

  • 如果服务器如果重启了,那么你必须重启 dockersystemctl restart docker.然后重启防火墙,然后重新安装插件 rabbitmq_management,然后设置用户

  • 如果你安装的是最新的版本 RabbitMQ ,当你浏览器登录到管理页面会发现 overview 详情那里缺少了一部分功能。所以你不得不 1.停止 rabbit container,2.删除 rabbit container,3.删除 rabbit image ,4.然后重新按照上面的步骤安装

镜像启动参数解释

使用 docker 启动 rabbitmq 参数:

  • 第一个 -p :用于页面访问使用

  • 第二个 -p :用于生产和消费端使用(也就是在代码里使用)

  • -d 后台运行容器;

  • –name 指定容器名;

  • -p 指定服务运行的端口(5672:应用访问端口;15672:控制台 Web 端口号);

  • –hostname 主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

可能用到的操作指令

  • docker ps #查看所有容器
  • docker ps -a #查看正在运行的容器
  • docker stop rabbitmq #停止 rabbitmq
  • docker rm 容器的 id #删除某 container
  • docker rmi 镜像的 id #删除某 image
  • rabbitmqctl list_users 查看 rabbitMQ 中所有的用户
    在这里插入图片描述

参考阅读

------ 如果文章对你有用,感谢右上角 >>>点赞 | 收藏 <<<


网站公告

欢迎关注微信公众号

今日签到

点亮在社区的每一天
签到