全网最详细RabbitMQ安装单机版教程(Linux和docker)

576 阅读3分钟

RabbitMQ安装教程

Linux安装

安装环境

    1. 操作系统:CentOS Linux release 7.7.1908
    1. Erlang:erlang-23.0.2-1.el7.x86_64
    1. RabbitMQ:rabbitmq-server-3.8.4-1.el7.noarch

RabbitMQ的安装需要首先安装Erlang,因为它是基于Erlang的VM运行的。

RabbitMQ与Erlang的兼容关系详见:www.rabbitmq.com/which-erlan…

下载和安装相关文件

安装socat依赖

yum install socat -y

安装Erlang

erlang-23.0.2-1.el7.x86_64.rpm

下载地址:github.com/rabbitmq/er…

下载完成后通过sftp上传至服务器,然后进行安装

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

安装RabbitMQ

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

下载地址:github.com/rabbitmq/ra…

下载完成后通过sftp上传至服务器,然后进行安装

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

启用RabbitMQ的管理插件

rabbitmq-plugins enable rabbitmq_management

启动

# 关闭防火墙
systemctl stop firewalld

#启动服务
service rabbitmq-server start

#停止服务
service rabbitmq-server stop

#重启服务
service rabbitmq-serverr restart

添加用户

rabbitmq ctl add_user root 123456

给用户添加权限

rabbitmq ctl set_permissions root -p / ".*" ".*" ".*"

给用户设置标签

rabbitmq ctl set_user_tags root administrator

开启管理界面及配置

配置虚拟主机及用户

用户角色

RabbitMQ在安装好后,可以访问http://ip地址:15672 其自带了guest/guest的用户名和密码;如果需要创建自定义用户;那么也可以登录管理界面后,如下操作:

image.png

image.png

角色说明

  • 1、超级管理员(administrator)

可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。

  • 2、监控者(monitoring)

可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

  • 3、策略制定者(policymaker)

可登陆管理控制台,同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。

  • 4、普通管理者(management)

仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。

  • 5、其他

无法登陆管理控制台,通常就是普通的生产者和消费者。

VirtualHosts配置

在RabbitMQ中可以虚拟消息服务器VirtualHost,每个VirtualHosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。相当于mysql的db。VirtualName一般以/开头。

创建VirtualHosts

image.png

设置VirtualHosts权限

image.png

image.png

docker安装RabbitMQ容器

进入docker仓库官网搜索RabbitMQ

hub.docker.com/

拉取Rabbit镜像

docker pull rabbitmq:3.8-management

注意使用后缀为"-management"的镜像版本,是包含网页控制台的。

image.png

查看镜像

docker images 

image.png

创建和启动RabbitMQ容器

docker run  --name rabbitmq \
-p 5672:5672 -p 15672:15672 \
-v `pwd`/data:/var/lib/rabbitmq \
-v ${RABBIT_DIR}/log:/var/log/rabbitmq \
--hostname localRabbit \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--network localNetwork \
--ip 172.172.0.30 \
-d rabbitmq:3.7.7-management
  • 参数说明

    • -d 后台运行容器

    • --name 指定容器名

    • -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)

    • -v 映射目录或文件

    • --hostname  主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)

    • -e 指定环境变量

      • RABBITMQ_DEFAULT_VHOST:默认虚拟机名
      • RABBITMQ_DEFAULT_USER:默认的用户名
      • RABBITMQ_DEFAULT_PASS:默认用户名的密码

查询运行的rabbit容器

docker ps

image.png

使用浏览器打开web管理端

网址为:http://Server-IP:15672

image.png

image.png

删除和卸载

docker stop rabbitmq 

docker rm rabbitmq