安装rabbitMQ
- 前提:安装docker服务并配置私有库地址
- 云服务器/本地服务器开放rabbitMQ端口:5672和15672
- 拉取镜像
#登陆私有库 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
本文来自博客园,作者:羊孩,转载请注明原文链接:https://www.cnblogs.com/sheepboy/p/18555218