RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP)。通过使用Docker,我们可以轻松地部署和运行RabbitMQ,而无需担心系统环境和配置问题。下面是在Docker中安装RabbitMQ的详细步骤:
前提条件:
- 在服务器的安全组和防火墙中放通相对应的端口,操作系统为CentOS 7.6,需要放通5672和15672端口。
- 登录自己的Linux系统服务器。
- 关闭服务器内部的firewalld防火墙。
- 开启内核端口转发:通过vim /etc/sysctl.conf把里面的net.ipv4.ip_forward = 0修改为net.ipv4.ip_forward = 1后进行保存退出,通过sysctl -p命令使修改后的内核转发文件生效。
- 下载安装好docker。
- 安装配置好镜像加速源(由于正常拉取镜像是从境外的docker官网拉取,建议设置镜像加速源)。
- 准备一台3A的服务器。
步骤: - 拉取镜像:运行命令docker pull rabbitmq,直接拉取是默认拉取最新版本的镜像。您可以使用docker images命令查看已拉取的镜像列表。
- 创建并启动RabbitMQ容器:运行命令docker run -d —name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:latest。这将在后台运行一个名为rabbitmq的容器,并将容器的5672端口映射到主机的5672端口,15672端口映射到主机的15672端口。
- 检查容器是否正常运行:使用docker ps命令查看正在运行的容器列表,确认rabbitmq容器是否在运行中。
- 进入容器:运行命令docker exec -it rabbitmq /bin/bash,进入容器的命令行界面。
- 设置环境变量:运行命令export RABBITMQ_RABBITMQ_COOKIE=’rabbitcookie’,设置环境变量RABBITMQ_ERLANG_COOKIE的值为rabbitcookie。该值可以任意,但必须保证两个容器的cookie值一致,用于节点之间的自动校验和通信使用。
- 配置RabbitMQ集群:这里我们使用集群名rabbit@rabbit1,将节点2加入到节点1中。配置完成后,打开web管理界面http://机器IP:15672,账密guest/guest。
- 配置镜像队列:为了实现高可用性,我们需要将队列升级为镜像队列。这需要在每个节点上配置镜像队列,确保消息在节点之间的一致性。具体配置方法可以参考RabbitMQ官方文档。
- 测试消息队列:通过发送和接收消息来测试RabbitMQ是否正常运行。可以使用RabbitMQ提供的工具或编写自己的应用程序进行测试。
- 关闭容器:使用docker stop命令关闭运行的rabbitmq容器。
通过以上步骤,您应该已经成功在Docker中安装了RabbitMQ并搭建了相应的环境。您可以根据实际需求进行进一步的配置和使用。