2种方式安装Rabbitmq

一、安装Erlang

RabbitMQ是由Erlang语言编写的,首先需要安装Erlang。

以下安装环境为Linux环境

# 安装erlangrpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm    yum install erlang

二、安装RabbitMQ

# 下载rabbitmqwget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm    # 安装rabbitmqyum install -y rabbitmq-server-3.6.15-1.el7.noarch.rpm

三、配置

安装完成后,启动和查看rabbitmq服务

# 启动rabbitmq服务systemctl start rabbitmq-server    # 查看rabbitmq服务状态systemctl status rabbitmq-server 

三、查看日志

RabbitMQ日志文件位于/var/log/rabbitmq目录下,RabbitMQ启动时,会在/etc/rabbitmq下寻找rabbitmq.config文件,我们可以自己创建这个文件。

三、管理UI

添加管理模块,RabbitMQ安装后默认是不启动管理模块的,所以需要配置将管理模块启动

rabbitmqctl start_app## 开启组件rabbitmq-plugins enable rabbitmq_management## 停止服务rabbitmqctl stop#重启rabbitmqsystemctl restart rabbitmq

接下来需要设置防火墙,允许rabbitmq端口被访问。

firewall-cmd --zone=public --add-port=80/tcp --permanent   firewall-cmd --reload

图形管理UI可以通过命令启动,启动后可在浏览器输入地址http://ip:15672查看。

其中ip 为你部署rabbitmq节点主机的IP。

四、添加用户

拷贝rabbitmq默认配置文件

cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbit/rabbitmq.config

把rabbitmq.config 文件里的 {loopback_users, []} 打开,重启服务即可

添加新用户

# 添加用户rabbitmqctl add_user username password    # 为用户设置所有权限rabbitmqctl set_permissions -p / username ".*" ".*" ".*"    # 设置用户为管理员rabbitmqctl set_user_tags username administrator

上述方式,需要逐步进行,对于开发人员和运维人员比较耗费时间,因此我们可以采用更便捷的方式实现快速搭建rabbitmq服务,下面简述了如何通过Docker的方式安装Rabbitmq 。

五、Docker安装RabbitMQ

使用Docker安装rabbitmq,需要先安装docker环境,Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

如何安装Docker请参本人简书链接:CentOS 7安装Docker - 简书

在具有docker的环境下执行如下命令就可以安装rabbitmq了

docker run -d --hostname rabbit_host1 --name rabbitmq1 --restart=always  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=xxx -p 15675:15672 -p 5675:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmq_cookie'  -v /data/rabbitMQ/data:/var/lib/rabbitmq -v /data/rabbitMQ/log:/var/log/rabbitmq  rabbitmq:3-management

参数说明:

RABBITMQ_DEFAULT_USER : rabbitmq 控制台的账号名

RABBITMQ_DEFAULT_PASS : rabbitmq 控制台的密码

RABBITMQ_ERLANG_COOKIE: cookie 名称

rabbitmq:3-management: 为选择带控制台的rabbitmq镜像

上述命令选择将:

数据存储目录映射到docker宿主机的 /data/rabbitMQ/data

日志目录映射到docker宿主机的 /data/rabbitMQ/log

六、RabbitMQ安装延时队列插件

安装完rabbitmq后,可以安装一个延时队列插件,用于短信推送和订单取消的业务场景,当然了,除了安装延时队列插件 ,还需结合软件开发代码来真正地实现业务需求。

无论RabbitMQ、kafka还是其它消息中间件,当消息被正确的投递的队列后,监听这个队列的消费者会立即取出消息进行消费。如果消息被投递到队列后,可以延迟一段时间后再消费,那么这就是延迟队列。并且延迟时间是可以自定义的。

在RabbitMQ中,我们可以通过消息的过期时间TTL和死信队列DLX来实现延迟队列,虽说这种实现的方式可以用,但是并不推荐,因为比较复杂,还有许多问题。 RabbitMQ官方提供了延迟队列插件rabbitmq-delayed-message-exchange,使我们的使用延迟队列更加简单。接下来我们就来动手。

1.下载延时队列插件

延时队列插件下载地址 :https://www.rabbitmq.com/community-plugins.html

点击链接进入下载地址:

执行进入容器:

docker exec -it rabbitmq容器ID /bin/bash

2.上传组件

拷贝插件到容器插件目录:

docker cp /home/rabbitmq_delayed_message_exchange-3.8.0.ez 3a:/plugins

3.启用组件

执行启用组件:

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

退出容器,并重启容器:

docker restart rabbitmq

在控制台设置延时队列类型

七. 结束语

文章介绍了2种方式安装 rabbitmq, 建议采用第2种方式去安装rabbitmq,安装周期短,减少了配置erlang的基础环境,减低了基础配置时间 ,极大地提高了服务部署安装效率。

各位看官如果觉得不错,还望点赞关注,UP主会持续更新更多的技术文章哦,您的点赞和 支持是我持续创作的最大动力 !

展开阅读全文

页面更新:2024-05-05

标签:方式   队列   控制台   容器   组件   插件   消息   代码   环境   文件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top