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

前提

本文介绍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)的时候说明成功了,可以参考下图:
RabbitMQ安装、端口修改、简单的角色介绍_第1张图片

需要注意的是,使用命令“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,如下图所示:
RabbitMQ安装、端口修改、简单的角色介绍_第2张图片
在开始修改前,我们先对这个文件进行备份,防止出现问题后,没办法恢复配置文件了,执行下面命令对该文件进行一个复制备份:

cp rabbitmq.config rabbitmq.config.default

使用vim编辑器打开rebbitmq.config,效果如图所示:
RabbitMQ安装、端口修改、简单的角色介绍_第3张图片
打开后,我们可以发现有许多东西都是注释状态的,所以删掉是没有关系的,需要注意的是:里面的配置文件数据格式是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:管理服务端口号来对管理页面进行访问,成功会出现下面这个登录页面:RabbitMQ安装、端口修改、简单的角色介绍_第4张图片

默认账号和密码都是:guest

登录出现下面这个页面说明登录成功了
RabbitMQ安装、端口修改、简单的角色介绍_第5张图片

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 ".*" ".*" ".*"
**感谢阅读**

你可能感兴趣的:(rabbitmq)