RabbitMQ是一个开源的强大的企业消息系统,支持主流的操作系统,支持多种开发语言。我们项目中使用RabbitMQ作为消息队列,解耦业务,构建高可靠的消息队列系统。
RabbitMQ可以用在订单系统、日志系统、数据收集等常见场景中。
这里安装版本:RabbitMQ 3.8.1
安装RabbitMQ 3.8.1之前需要先安装erlang语言
1、下载
erlang下载:https://github.com/rabbitmq/erlang-rpm/releases/tag/v22.2.1
RabbitMQ 下载: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.11
下载完后的文件为:
erlang-22.2.1-1.el7.x86_64.rpm
rabbitmq-server-3.8.11-1.el7.noarch.rpm
2、安装
安装依赖socat,安装Erlang时需要这个:
yum install -y socat
接下来安装Erlang和RabbitMQ:
rpm -ivh erlang-22.2.1-1.el7.x86_64.rpm rpm -ivh rabbitmq-server-3.8.11-1.el7.noarch.rpm
两行命令后,即完成了Erlang和RabbitMQ的安装,就这么简单!!!
3、启动、状态查看介绍
启动RabbitMQ:
systemctl start rabbitmq-server
设置RabbitMQ开机自启动:
systemctl enable rabbitmq-server
RabbitMQ其他操作:
#查看启动后的情况
rabbitmqctl status
#关闭服务
rabbitmqctl stop
#重启rabbitmq
systemctl restart rabbitmq-server
4、启用网页版后台管理插件
启动:rabbitmq-plugins enable rabbitmq_management
关闭:rabbitmq-plugins disable rabbitmq_management
5、linux本地访问
地址:http://127.0.0.1:15672
默认账号密码:guest guest(这个账号只允许本机访问)
6、自定义用户
新建一个用户名为admin,密码为admin的管理员,并授予管理员(administrator)权限:
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
设置admin可以使用的虚机权限:
rabbitmqctl add_vhost admin rabbitmqctl set_permissions -p admin admin ".*" ".*" ".*"
重启RabbitMQ后,可以使用admin用户登录!! 这里不演示了!!
7、有时候为安全,需要修改默认端口,操作如下
RabbitMQ默认开启了几个端口:
4369
:erlang发现口
5672
:client端通信口,客户端要连接RabbitMQ服务时要用到
15672
:后台管理界面ui端口,进入管理后台时访问url如:http://localhost:15672/
25672
:server间内部通信口
有时候在生产环境下,我们出于安全等原因希望修改掉默认的端口号。
我们安装新版的RabbitMQ-3.8.1后,发现找不到它的配置文件,按常理,服务的端口开发都可以在配置文件里配置的。但是事实上RabbitMQ-3.8.1并没有生成配置文件,需要我们手动添加配置文件。
官方建议配置文件的位置:/etc/rabbitmq/rabbitmq.conf
我们现在要做的是把默认端口5672改成56720,并且允许远程访问。把web管理默认端口15672改成56271。只需如下配置:
#vim /etc/rabbitmq/rabbitmq.conf
#AMQP 0-9-1 and 1.0 port,默认5672,允许远程访问 listeners.tcp.default = 0.0.0.0:56720 #web管理,默认15672 management.tcp.port = 56721 management.tcp.ip = 0.0.0.0
保存,并重启RabbitMQ服务。使用查看端口指令:
netstat -lntp