一、简介
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。
RabbitMQ服务器是用Erlang语言编写的。
二、工作过程
发布者(Publisher)发布消息(Message),经由交换机(Exchange)。
交换机根据路由规则将收到的消息分发给与该交换机绑定的队列(Queue)。
最后 AMQP 代理会将消息投递给订阅了此队列的消费者,或者消费者按照需求自行获取。
三、安装过程(CentOS 7)
1.首先准备好三个包,这三个是rabbit安装包,还有一个Erlang安装包,还有一个是有关于秘钥的。(rabbit安装包和Erlang是有版本关系的,不同的rabbit安装包对应不同的Erlang安装包,可以在rabbit官网查到)
这个是我网盘的资源: 链接: https://pan.baidu.com/s/1H4LSghADrJ1yQ4PiRbCm4Q 提取码: wy55
也可以去官网下载。官网地址:http://www.rabbitmq.com
之后打开自己的虚拟机或者服务器
先安装依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
上传文件
//打开local文件
cd /usr/local
//建立rabbitMQ文件夹
mkdir rabbitMQ
之后可以将三个安装包放到rabbitMQ目录下
先要安装Erlang安装包
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
然后安装秘钥包
rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm
安装时可能活报错,显示下面的错误
我们可以在这个命令后加上两个东西,就可以啦。 nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载。
解决了我的问题博客链接:https://blog.csdn.net/qq_39818325/article/details/89421035
rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm --force --nodeps
成功安装秘钥包之后呢,我们还需要安装最后的rabbitmq包
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
现在其实已经正常的安装成功啦!
然后启动rabbitmq就可以,还有rabbitmq的默认端口是15672(管控台端口号,也就是网页管理端)和5672(通信端口号),各有不同的作用。关闭防火墙,或者将5672,15672端口开放。还有一个是25672,这个端口号是集群用的端口号。
//启动rabbitmq
rabbitmq-server start &
启动成功出现的提示:
接下来就是安装可视化的插件,能够在网页上编辑和操作rabbitmq
//安装可视化插件
rabbitmq-plugins enable rabbitmq_management
安装成功后的样子:
然后打开浏览器,输入自己的服务器地址加上15672。登录的默认的账号密码均为guest
但是之后我发现了一个问题,guest是amdin权限的账号,而且只能本机登录,所以用这个账号不能登录,需要我们自己添加一个。
// 添加一个叫张三的用户,密码为123456
rabbitmqctl add_user zhangsan 123456
//将张三设置为admin权限
rabbitmqctl set_user_tags zhangsan administrator
然后发现我们登录成功啦!
额外拓展:rabbitMQ的一些其他linux命令
关闭应用:rabbitmqctl stop_app
启动应用:rabbitmqctl start_app
节点状态:rabbitmqctl status
添加用户(用户名称为zhangsan,密码为123456) :rabbitmqctl add_user zhangsan 123456
查看所有的用户:rabbitmqctl list
删除用户(用户为zhangdan):rabbitmqctl delete_user zhangsan
清除用户权限:rabbitmqctl clear_permissions -p vhostpath zhangsan
列出用户权限:rabbitmqctl list_user_permissions zhangsan:
修改密码(修改张三密码为123456):rabbitmqctl change_password zhangsan 123
设置用户权限(权限为admin,还有其他权限)rabbitmqctl set_user_tags zhangsan administrator