在CentOS7系统安装与配置RabbitMQ

RabbitMQ是一个开源的强大的企业消息系统,支持主流的操作系统,支持多种开发语言。我们项目中使用RabbitMQ作为消息队列,解耦业务,构建高可靠的消息队列系统。RabbitMQ可以用在订单系统、日志系统、数据收集等常见场景中。

本文我们介绍如何在CentOS上安装当前最新版的RabbitMQ:v3.8.1,以及如何使用Docker来安装RabbitMQ。

安装RabbitMQ

安装 RabbitMQ 之前要安装 Erlang,需要先到RabbitMQ官网看下版本对应关系。

当前最新版rabbitmq-server是rabbitmq-server-3.8.1-1.el7.noarch.rpm,最新版Erlang是erlang-22.2.1-1.el7.x86_64.rpm。我们可以分别在GithubRabbitMQ官网下载对应的版本的rpm包。

下载好rpm包后,接下来我们使用rpm进行安装。

首先安装依赖socat,安装Erlang时需要这个。

yum install -y socat
知识兔

接下来安装Erlang和RabbitMQ。

rpm -ivh erlang-22.2-1.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.8.1-1.el7.noarch.rpm
知识兔

执行上述两行命令后,即完成了Erlang和RabbitMQ的安装,就这么简单。

启动RabbitMQ:

systemctl start rabbitmq-server
知识兔

设置RabbitMQ开机自启动:

systemctl enable rabbitmq-server
知识兔

RabbitMQ其他操作:

#查看启动后的情况
rabbitmqctl status
#关闭服务
rabbitmqctl stop
#重启rabbitmq
systemctl restart rabbitmq-server
知识兔

配置RabbitMQ

1.启用网页版后台管理插件:

rabbitmq-plugins enable rabbitmq_management
知识兔

2.新建一个用户名为admin,密码为admin的管理员,并授予管理员(administrator)权限。

rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
知识兔

3.设置admin可以使用的虚机权限。

rabbitmqctl add_vhost admin
rabbitmqctl set_permissions -p admin  admin ".*" ".*" ".*"
知识兔

4.插件管理:

#插件列表: 
rabbitmq-plugins list 
#启动插件: 
rabbitmq-plugins enable XXX   (XXX为插件名)
#停用插件: 
rabbitmq-plugins disable XXX
知识兔

5.打开后台web管理界面:http://localhost:15672/,刚才我们设置了admin用户,所以可以使用admin登录,也可以使用默认账号和密码都是guest登录。进入管理界面后可以看到:

202203131822480743850000

我们可以在后台管理用户、队列等信息。

6.修改RabbitMQ默认端口

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查看端口监听情况:

202203131822495032670001

7.其他配置

我们可以到官网地址:https://www.rabbitmq.com/configure.html,了解RabbitMQ的性能优化方面的配置。

使用Docker安装RabbitMQ

首先,我们得安装docker环境,docker环境的安装本站后面会有文章介绍,本文假设你的机器上已经安装好了docker环境。

先拉取RabbitMQ镜像:

docker pull rabbitmq:3.8.1-management
知识兔

然后查看镜像:

docker images
知识兔
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZErabbitmq            3.8.1-management    36ed80b6a1b1        5 weeks ago         180MB

然后运行容器:

docker run --name rabbitmq -d -p 5672:5672 -p 15672:15672 -v /data:/var/lib/rabbitmq rabbitmq:3.8.1-management

最后,使用docker ps查看运行的容器。

这样,一个RabbitMQ的docker环境就装好了。

接下来我们将有文章介绍RabbitMQ在项目中的实际应用,敬请关注。

计算机