CentOS7环境下安装与配置RabbitMQ

1、下载rpm包

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

https://www.rabbitmq.com/which-erlang.html

RabbitMQ 和Erlang,我们可以分别在Github和RabbitMQ官网下载对应的版本的rpm包。

https://github.com/rabbitmq/erlang-rpm/releases

https://www.rabbitmq.com/install-rpm.html#downloads

我的安装版本:

erlang-23.0.4-1.el7.x86_64.rpm

rabbitmq-server-3.8.8-1.el7.noarch.rpm

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

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

yum install -y socat

CentOS7环境下安装与配置RabbitMQ

 

【图:安装依赖socat】

2、安装erlang和rabbitmq

接下来进入rpm包所在的目录,执行如下命令安装Erlang和RabbitMQ。

rpm -ivh erlang-23.0.4-1.el7.x86_64.rpm

rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

CentOS7环境下安装与配置RabbitMQ

 

【图:安装erlang和rabbitmq】

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

启动RabbitMQ:

systemctl start rabbitmq-server

设置RabbitMQ开机自启动:

systemctl enable rabbitmq-server

RabbitMQ其他操作:

#查看启动后的情况

rabbitmqctl status

#关闭服务

rabbitmqctl stop

#重启rabbitmq

systemctl restart rabbitmq-server

 

3、配置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

 

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

CentOS7环境下安装与配置RabbitMQ

 

4、修改RabbitMQ默认端口,开启远程访问

RabbitMQ默认开启了几个端口:

4369:erlang发现口

5672:client端通信口,客户端要连接RabbitMQ服务时要用到

15672:后台管理界面ui端口,进入管理后台时访问url如:http://localhost:15672/

25672:server间内部通信口

有时候在生产环境下,我们出于安全等原因希望修改掉默认的端口号。

我们安装rabbitmq-server-3.8.8-1.el7.noarch.rpm后,发现找不到它的配置文件,按常理,服务的端口开发都可以在配置文件里配置的。但是事实上RabbitMQ在当前版本(其它版本暂不i清楚)并没有生成配置文件,需要我们手动添加配置文件。

官方建议配置文件的位置:/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查看端口监听情况:

CentOS7环境下安装与配置RabbitMQ

 

远程访问阿里云上的rabbitmq:

发现远程访问,是无法使用guest账号登录的

CentOS7环境下安装与配置RabbitMQ

 

使用上面配置的admin账号登录,可以正常访问:

CentOS7环境下安装与配置RabbitMQ