RabbitMQ下载与安装
RabbitMQ下载与安装
先跟大家科普一下MQ和RabbitMQ
MQ简介
MQ全称为Message Queue ,即消息队列
应用场景:
1、任务异步处理。
将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。
2、应用程序解耦合。
MQ相当于一个中介 ,生产方通过MQ与消费方交互,它将应用程序进行解耦合。
什么是RabbitMQ
RabbitMQ官方地址: http://www.rabbitmq.com/
RabbitMQ是由erlang语言开发 ,基于AMQP ( Advanced Message Queue高级消息队列协议)协议实现的消息队列,它是一种应用程序之 间的通信方法,消息队列在分布式系统开发中应用非常广泛。
下载RabbitMQ(Linux-CentOS 7)
因为RabbitMQ是由erlang语言开发,下载RabbitMQ首先要erlang的环境搭建
下载安装包
Rabbit
可以进官方网站点上方的get Started选择版本下载,我们已经选择好了
erlang
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
新建文件rabbitmq-erlang.repo
在/etc/yum.repos.d/目录下新建一个文件rabbitmq-erlang.repo
cd /etc/yum.repos.d/
touch rabbitmq-erlang.repo
在文件中添加代码:
[erlang-solutions]
name=CentOS $releasever - $basearch - Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
执行安装
yum install erlang
执行安装esl
yum install esl-erlang
安装RabbitMQ
我们差不多把他的环境给搞定了
切换到上传rabbitMQ的安装包路径下,执行:
rpm -ivh rabbitmq-server-3.7.7-1.el6.noarch.rpm
如果有报错情况:
rpm -ivh rabbitmq-server-3.6.9-1.el6.noarch.rpm
error: Failed dependencies:
socat is needed by rabbitmq-server-3.6.9-1.el6.noarch
可以试试使用这条命令
rpm -ivh --nodeps rabbitmq-server-3.6.9-1.el6.noarch.rpm
还进行报错可以到网上查阅相关信息解决
安装完毕
查看RabbMQ状态:service rabbitmq-server status
设置开启启动:sudo chkconfig rabbitmq-server on
开启WEB管理页面:sudo rabbitmq-plugins enable rabbitmq_management
默认WEB管理的登录帐号和密码统一为:guest
默认RabbitMQ拥有如下端口号:
端口号 | 简单说明 |
---|---|
15674 | STOMP-over-WebSockets客户端(仅当启用了Web STOMP插件时) |
15675 | MQTT-over-WebSockets客户端(仅当启用了Web MQTT插件时) |
1883, 8883 | 如果启用了MQTT插件,则没有和使用TLS的MQTT客户端 |
61613, 61614 | 没有和使用TLS的STOMP客户端(仅当启用了STOMP插件时) |
35672-35682 | CLI工具(Erlang分发客户端端口)用于与节点通信,并从动态范围(计算为服务器分发端口+ 10000到服务器分发端口+ 10010)进行分配。 |
15672 | WEB管理界面 |
5672,5671 | 由AMQP 0-9-1和1.0客户端使用,没有和使用TLS |
4369 | epmd,RabbitMQ节点和CLI工具使用的对等发现服务 |
25672 | 用于节点间和CLI工具通信(Erlang分发服务器端口)并从动态范围分配(默认情况下限于单个端口,计算为AMQP端口+ 20000) |
防火墙进行放出端口。
外部访问192.168.153.128:15672/#/users
就可以进行登录,但是我们guest只能本地登录,所以新建账号就好了
新建账号
添加RabbitMQ用户:
sudo rabbitmqctl add_user root 123456
帐号:root 密码123456
赋予RabbitMQ用户角色:
sudo rabbitmqctl set_user_tags root administrator
赋予用户默认vhost的全部操作权限:
sudo rabbitmqctl set_permissions -p / root “.” “.” “.*”
查看用户的权限:
sudo rabbitmqctl list_user_permissions username
查看全部用户:
sudo rabbitmqctl list_users
此操作删除guest用户,我们自己创建新的用户来使用
删除用户:
sudo rabbitmqctl delete_user guest
最后一步就是重启动了,不要忘记重启了!!!
service rabbitmq-server restart //重启
service rabbitmq-server start //开启