RabbitMQ安装、端口修改、简单的角色介绍

  • Post author:
  • Post category:其他




前提

本文介绍RabbitMQ安装的环境是CentOS7版本的Linux云服务器。

官网:

https://www.rabbitmq.com/



RabbitMQ的安装

由于RabbitMQ是使用Erlang语言开发的,所以我们在安装RabbitMQ之前需要在服务器中安装Erlang语言的环境。在Linux中执行下面命令:

yum install -y epecurl -s 
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

在执行完上面语句后,我们就可以安装RabbitMQ了,也是比较简单的执行命令:

yum install rabbitmq-server

最后使用下面这个命令启动RabbitMQ,

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

最后用下面这条命令,检查RabbitMQ的执行状态

systemctl status rabbitmq-server.service

当Active状态为active(running)的时候说明成功了,可以参考下图:

在这里插入图片描述

需要注意的是,使用命令“systemctl enable rabbitmq-server.service”就意味着,服务器系统重启的时候会自动启动RabbitMQ。
如果不想这样,就跳过这一句即可,这样你在关闭与服务器的会话的时候,RabbitMQ的服务自己就会被关闭了



RabbitMQ管理界面的启用

在安装RabbitMQ后,我们还需要启动一个可视化的管理服务,以便于我们后续在浏览器中能访问并管理RabbitMQ

只需要执行下面的命令就可以开启了

rabbitmq-plugins enable rabbitmq_managemen

开启后重启一下服务

systemctl restart rabbitmq-server


管理服务界面的预览图将在下面修改端口介绍后进行查看



RabbitMQ端口号意义说明

  • 5672:RabbitMQ的通讯端口
  • 25672:RabbitMQ的节点间的CLI通讯端口
  • 15672:RabbitMQHTTP_API的端口,管理员用户才能访问,用于管理RabbitMQ,需要启动Management插件。
  • 1883,8883:MQTT插件启动时的端口。
  • 61613、61614:STOMP客户端插件启用的时候的端口。
  • 15674、15675:基于webscoket的STOMP端口和MOTT端口



修改RabbitMQ端口


问题

:为什么要修改端口?


回答

:在云服务器中,当我们需要开发某个端口时,需要到控制台的防火墙(腾讯云)或者安全组(阿里云)中去进行开放,但是开放就意为着,所有人都可以对你这个端口进行访问(前提是他们知道你这个端口开发的情况下),但是这时候就会遇到一个问题,像我们这些知名的端口号例如3306、6379、5672、8080端口等,都是被大部分人所知道的,不法分子只要拿着你的ip:端口的方式就能访问到服务,所以就会有一个不安全的情况出现,比如说,不法分子顺着你的端口摸到你服务器里面去搞破坏,这样你的服务器可能就要面临重载(我身边的朋友都遇到了),所以我们必须修改了端口号再放出去,虽然也有风险,但是起码较为更安全了,所以修改端口非常有必要!!!

如果要修改RabbitMQ的服务端口,那么我们需要到

/etc/rabbitmq

目录下找到

rabbitmq.config

,如下图所示:

在这里插入图片描述

在开始修改前,我们先对这个文件进行备份,防止出现问题后,没办法恢复配置文件了,执行下面命令对该文件进行一个复制备份:

cp rabbitmq.config rabbitmq.config.default

使用vim编辑器打开rebbitmq.config,效果如图所示:

在这里插入图片描述

打开后,我们可以发现有许多东西都是注释状态的,所以删掉是没有关系的,

需要注意的是

:里面的配置文件数据格式是JSON格式的,所以我们在后面修改端口的时候也要格外的注意。


接下来就把里面的内容全部删除掉就好了,直接粘贴上下面的这些配置信息,粘贴完后记得检测一下!!!

[
{
    rabbit,
        [{
            tcp_listeners,[{"0.0.0.0",端口号}]
		}]

},
{
    rabbitmq_management,
        [{
          listener,
                  [
                  {port,端口号},
                  {ip,"0.0.0.0"},
                  {ssl,false}
                  ]
		}]

}].

tcp_listeners是RabbitMQ的服务启动端口

listener是RabbitMQ的管理服务界面的启动端口

这样就修改完成了,接下了就是重新启动服务的问题了,执行命令

systemctl restart rabbitmq-server.service

检测是否启动成功:

systemctl status rabbitmq-server.service

出现Running就说明成功了



访问RabbitMQ管理服务页面

通过

IP:管理服务端口号

来对管理页面进行访问,成功会出现下面这个登录页面:
在这里插入图片描述

默认账号和密码都是:guest

登录出现下面这个页面说明登录成功了

在这里插入图片描述



RabbitMQ中五种的角色

我们可以在RabbitMQ里面有五种不同的角色,如下:

none

不能访问management plugin

management

  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings- 信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。

Policymaker

  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。

Monitoring

  • 列出自己可以通过AMQP登入的虚拟机
  • 查看自己的虚拟机节点 virtual hosts的queues,exchanges和bindings信息
  • 查看和关闭自己的channels和connections
  • 查看有关自己的虚拟机节点virtual hosts的统计信息。包括其他用户在这个节点virtual hosts中的活动信息。

Administrator

  • 最高权限
  • 可以创建和删除virtual hosts
  • 可以查看,创建和删除users
  • 查看创建permisssions
  • 关闭所有用户的connections

添加管理用户角色命令:

rabbitmqctl add_user 账号 密码
rabbitmqctl set_user_tags 账号 administrator
rabbitmqctl change_password Username Newpassword 修改密码
rabbitmqctl delete_user Username 删除用户 
rabbitmqctl list_users 查看用户清单
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*" 为用户设置administrator角色
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"


**感谢阅读**




版权声明:本文为weixin_59216829原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。