赞
踩
RabbitMQ介绍:使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。
rabbitMQ官网: https://www.rabbitmq.com/download.html
安装步骤如下:
1. 安装erlang环境, rpm -ivh erlang-22.3.4.12-1.el7.x86_64.rpm
2. 安装rabbitMQ(需要有外网),yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm
3. 拷贝配置文件,cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
4.、修改rabbitmq.config文件,开启允许来宾用户登录访问页面(用户密码guest/guest)
5、启动rabbitMQ插件管理,rabbitmq-plugins enable rabbitmq_management
6、启动RabbitMQ服务(关闭、重启、查看状态命令)
systemctl start rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
systemctl status rabbitmq-server
7、关闭防火墙
[root@xupeng ~]# systemctl disable firewalld
[root@xupeng ~]# systemctl stop firewalld
8、访问页面,端口是15672
9、页面介绍
10、错误排查,因为我之前安装过一遍,所以没有问题,初次安装可能会出现如下两个错误
10.1. 提示socat依赖被需要,则执行yum -y install socat
10.2. rabbitMQ启动不起来,可以尝试再次调用重启命令,还是起不来 journalctl -xe 命令查看错误日志。我的日志里有这么一条错误ERROR: epmd error for host 192: badarg (unknown POSIX error) ,大概意思就是主机名称不能有数字,调整命令如下
# 查看下自己主机名称
[root@xupeng ~]# hostname
xupeng
# 修改下主机名称
[root@xupeng ~]# set-hostname xupeng
.
11、下面是实际操作,
[root@xupeng test]# ll 总用量 32200 drwxr-xr-x. 2 root root 222 9月 4 12:09 bin -rw-r--r--. 1 root root 19991728 9月 8 09:39 erlang-22.3.4.12-1.el7.x86_64.rpm -rw-r--r--. 1 root root 10494431 9月 8 09:39 rabbitmq-server-3.7.18-1.el7.noarch.rpm drwxrwxr-x. 7 root root 4096 10月 4 2021 redis-6.2.6 -rw-r--r--. 1 root root 2476542 4月 12 22:58 redis-6.2.6.tar.gz [root@xupeng test]# rpm -ivh erlang-22.3.4.12-1.el7.x86_64.rpm 警告:erlang-22.3.4.12-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:erlang-22.3.4.12-1.el7 ################################# [100%] [root@xupeng test]# yum list | grep erlang erlang.x86_64 22.3.4.12-1.el7 installed [root@xupeng test]# yum -y remove erlang-* 已加载插件:fastestmirror, langpacks 参数 erlang-22.3.4.12-1.el7.x86_64.rpm 没有匹配 不删除任何软件包 [root@xupeng test]# yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm 已加载插件:fastestmirror, langpacks 正在检查 rabbitmq-server-3.7.18-1.el7.noarch.rpm: rabbitmq-server-3.7.18-1.el7.noarch rabbitmq-server-3.7.18-1.el7.noarch.rpm 将被安装 正在解决依赖关系 There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help). --> 正在检查事务 ---> 软件包 rabbitmq-server.noarch.0.3.7.18-1.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 =============================================================================================================================================================================================================================== Package 架构 版本 源 大小 =============================================================================================================================================================================================================================== 正在安装: rabbitmq-server noarch 3.7.18-1.el7 /rabbitmq-server-3.7.18-1.el7.noarch 11 M 事务概要 =============================================================================================================================================================================================================================== 安装 1 软件包 总计:11 M 安装大小:11 M Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 警告:RPM 数据库已被非 yum 程序修改。 正在安装 : rabbitmq-server-3.7.18-1.el7.noarch 1/1 验证中 : rabbitmq-server-3.7.18-1.el7.noarch 1/1 已安装: rabbitmq-server.noarch 0:3.7.18-1.el7 完毕! [root@xupeng test]# ll /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq* -rw-r--r--. 1 root root 33235 9月 16 2019 /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example [root@xupeng test]# cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
修改配置文件
继续回到linux
[root@xupeng rabbitmq]# rabbitmq-plugins enable rabbitmq_management Enabling plugins on node rabbit@xupeng: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@xupeng... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch set 3 plugins. Offline change; changes will take effect at broker restart. [root@xupeng ~]# systemctl disable firewalld [root@xupeng ~]# systemctl stop firewalld [root@xupeng ~]# systemctl start rabbitmq-server
最左侧圆点是生产者,最右侧圆点是消费者,红色的是队列,深蓝的圆点是路由
大致使用就是生产者的消息可以通过路由或直接向队列里添加,消费者从队列里获取
<dependencies>
<dependency>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。