关于 RabbitMQ 的安装与简单使用
引子
前几天遇到个需高效及时可靠的推送数据问题,在此问答篇中先感谢各位的指引后,在社区中发现此博文介绍的消息发布订阅正好解决了我的问题,实在太感谢作者AR414,我也做个记录以便以后查阅。
Erlang 安装
首先我是使用linux发行版系统
- 确定系统发行版本。
cat /etc/redhat-release
- 安装Erlang。
可以再终端输入erl看是否报错,如果没有安装,则检查下所需要的依赖,缺的依赖都给装上就行
下载rpm包yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
升级rpm包,可以获取到最新版本的erl包wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
如果出错,缺少什么依赖就安装上去,我装了几次,有一次缺少了 epel-releaserpm -Uvh erlang-solutions-1.0-1.noarch.rpm
开始安装yum -y install epel-release
不出意外就安装好了,下面可以开始安装RabbitMQ了!sudo yum install erlang
RabbitMQ安装
1:通过你的Elrang版本选择适合你的RabbitMQ,Erlang版本可在终端输入erl,查看到当前Erlang/OTP ,然后在此页面确定适合你的RabbitMQ版本,如下我截了一点点图,具体还是可以看官网比较详细。
然后找到适合你的版本后去这个页面,在通过你之前确定的linux发行版本下载合适的软件安装包。
我的是CentOS 7.7 ,Erlang/OTP 是22,我就装个3.8.4是适合的,下载软件
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.4/rabbitmq-server-3.8.4-1.el7.noarch.rpm
签名秘钥
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
开始安装
yum install rabbitmq-server-3.8.4-1.el7.noarch.rpm
大概意思让你的rabbitMQ能够作为守护程序启动
chkconfig rabbitmq-server on
基础操作
service rabbitmq-server start //启动
service rabbitmq-server status //运行状态
service rabbitmq-server stop //停止
想要在web页面看到RabbitMQ里面交换机啊,通道啊队列啊啥的详情需要开启一下,同时不要忘记服务器里面把端口号15672安全组配置一下,至此简单的安装就完成了。
/usr/sbin/rabbitmq-plugins enable rabbitmq_management
发布/订阅 简单使用
当一切都准备稳妥后就需要简单的使用一下了。引入个包文件
composer require php-amqplib/php-amqplib
生产者
其中交换机声明这里有四种类型这里使用”fanout”是使得所有绑定此交换机的消费者都能接受到消息。
消费者
运行
注意
在发布订阅里面,要保证所有的消息都能被消费者接收到,一定要设置交换机的持久化,消息的持久化,队列的持久化。
本作品采用《CC 协议》,转载必须注明作者和本文链接