安装rabbitMQ

  1. 前提:安装docker服务并配置私有库地址
  2. 云服务器/本地服务器开放rabbitMQ端口:5672和15672
  3. 拉取镜像
#登陆私有库
docker login -u admin -p 私有库密码 http://8.134.59.62:8083
#查看私有库镜像列表
curl 8.134.59.62:8083/v2/_catalog
#拉取镜像
docker pull 8.134.59.62:8083/rabbitmq

         4. 新建挂载目录

#新建配置文件目录
mkdir -p /mnt/rabbitmq/etc
#新建数据存放目录
mkdir -p /mnt/rabbitmq/lib
#新建日志目录
mkdir -p /mnt/rabbitmq/log

        5. 授权新建目录

chmod -R 755 /mnt/rabbitmq

         6. 安装rabbitMQ

          a. 第一次启动:运行未挂载任何目录的rabbitmq容器,目的是获取容器的配置文件,数据以及日志

docker run --name rabbitmq --restart=always -p 5672:5672 -p 15672:15672 --network host -d 8.134.59.62:8083/rabbitmq

          b. 将容器的配置文件复制到宿主机的挂载目录

docker cp rabbitmq:/etc/rabbitmq /mnt/rabbitmq/etc

         c. 查看是否复制成功:进入宿主机挂载目录,查看复制内容

#进入配置文件挂载目录

cd /mnt/rabbitmq/etc

#在当前目录下是否有已复制的配置文件
ll

          d. 将容器的相关数据目录复制到宿主机的挂载目录

#将容器的数据目录复制到宿主机的挂载目录

docker cp rabbitmq:/var/lib/rabbitmq /mnt/rabbitmq/lib
#将容器的日志目录复制到宿主机的挂载目录
docker cp rabbitmq:/var/log/rabbitmq /mnt/rabbitmq/log

         e. 停用rabbitmq容器

docker stop rabbitmq

          f. 删除rabbitmq容器

docker rm rabbitmq

          g. 第二次启动:新建rabbitmq容器,并挂载配置文件,日志和数据目录

docker run --name rabbitmq --restart=always -p 5672:5672 -p 15672:15672 --network host -v /mnt/rabbitmq/etc:/etc/rabbitmq -v /mnt/rabbitmq/lib:/var/lib/rabbitmq -v /mnt/rabbitmq/log:/var/log/rabbitmq -d 8.134.59.62:8083/rabbitmq

●--restart=always:总是随docker服务自动启动

●-p 5672:5672 :宿主机端口:容器端口,5672

●-p 15672:15672 :宿主机端口:容器端口

         7. 查看日志内容是否容器启动成功

#查看容器日志

docker logs -f rabbitmq

#日志内容显示权限问题

failed to open log file at '/var/log/rabbitmq/rabbit@Server-4cb5f74a-623d-402a-877a-dd8c1713a6bc_upgrade.log', reason: permission denied
#解决方法
# a.本地映射文件配置
vi /mnt/rabbitmq/etc/rabbitmq/conf.d/10-default-guest-user.conf

#b. 关闭控制台输出日志
log.console = false
#c. 0点旋转文件
log.file.rotation.date = $D0
#d. 保留5个日志文件
log.file.rotation.count = 5

#e. 修改本地log 目录权限
chmod 777 -R /mnt/rabbitmq/log

#f. 重新启动rabbitmq,正常启动日志显示如下:

 

          8. 安装rabbitmq管理界面端访问插件

docker exec rabbitmq rabbitmq-plugins enable rabbitmq_management

 

         9. 安装管理界面端端访问插件后,可通过http://rabbitmq所在服务器IP:15672/ 打开管理界面端页面

          10. 添加rabbitmq用户并设置密码

#a.进入容器
docker exec -it rabbitmq /bin/bash
#b.添加rabbitmq用户及设置密码
rabbitmqctl add_user admin server~YZ2024
#c.查看rabbitmq用户是否添加成功
rabbitmqctl list_users

说明:添加用户后日志提示需要设置用户权限,否则登录不了

Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.

 

         11. 设置rabbitmq用户权限

#为rabbitmq用户设置权限

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
●admin:rabbitmq用户名

#赋予用户管理员权限
rabbitmqctl set_user_tags admin administrator
●admin:rabbitmq用户名,

●administrator:赋予管理员权限
#不需要重启rabbitmq,即可登录,如下图 admin/server~YZ2024

 

         12. 安装延迟队列插件

          a. 将下载的延迟队列插件放到/mnt/rabbitmq目录(可以随意放一个目录)

         b. 进入/mnt/rabbitmq目录

       cd  /mnt/rabbitmq

         c. 将插件复制到rabbitmq容器中

docker cp rabbitmq_delayed_message_exchange-3.9.0.ez  rabbitmq:/plugins/

         d. 进入容器

      docker exec -it rabbitmq /bin/bash

         e. 启动延迟队列插件

      rabbitmq-plugins enable rabbitmq_delayed_message_exchange

      返回如下结果证明安装插件成功

root@iZgw06g5hazrd9k390a0qoZ:/# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Enabling plugins on node rabbit@iZgw06g5hazrd9k390a0qoZ:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
  rabbitmq_delayed_message_exchange
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@iZgw06g5hazrd9k390a0qoZ...
The following plugins have been enabled:
  rabbitmq_delayed_message_exchange

started 1 plugins.

         f. 进入容器内运行命令查看rabbitmq已安装的插件列表

       rabbitmq-plugins list

posted @ 2024-11-19 17:10  羊孩  阅读(10)  评论(0编辑  收藏  举报
返回顶端