Skip to main content
Version: Next

RabbitMQ

RabbitMQ 是一个 流行的开源消息队列系统,它被用于 消息队列 等场景。流行的开源消息队列系统,用erlang语言开发,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗

gui

准备

在参阅本文档使用 RabbitMQ 时,需要确保如下几点:

  • 应用是基于 Websoft9 安装的

  • 应用的用途符合 apache2 开源许可协议

  • 应用具备访问条件:配置域名服务器安全组开启网外端口

入门指南

初始化

Websoft9 控制台安装 RabbitMQ 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取登录信息。

  1. 本地电脑浏览器访问后,进入初始化页面

  2. 输入账号密码,成功登录到 RabbitMQ 后台

  3. 登录后通过:【Users】>【Admin】>【Permissions】>【Update this user】设置新密码

创建用户

admin 既是登录 RabbitMQ Web界面的账号,同时也是 RabbitMQ 服务的账号。

通过Web界面我们可以创建更多的账号:

  1. 登录 RabbitMQ 后台,依次打开:【Admin】>【Add a user】

  2. 设置好用户名和密码,以及tag(用户角色,必填项)

远程连接

用户可以通过本地的 MQ 工具连接 RabbitMQ 服务器。下面以 QueueExplorer 这款客户端工具为例进行说明:

  1. 下载并安装 QueueExplorer

  2. 打开客户端,填写配置信息(端口根据实际情况填写)

  3. 连接成功

配置TLS/SSL

RabbitMQ 配置TLS/SSL,需要以下4个步骤:

  1. 安装证书生成工具 tls-gen

    git clone https://github.com/michaelklishin/tls-gen tls-gen
    cd tls-gen/basic
    # private key password
    make PASSWORD=bunnies
    make verify
    make info
    ls -l ./result
    cp -r result/ /etc/rabbitmq/ssl/
  2. 追加下面内容到配置文件 /etc/rabbitmq/rabbitmq.config

    ssl_options.cacertfile = /etc/rabbitmq/ssl/ca_certificate.pem
    ssl_options.certfile = /etc/rabbitmq/ssl/server_certificate.pem
    ssl_options.keyfile = /etc/rabbitmq/ssl/server_key.pem
    ssl_options.verify = verify_peer
    ssl_options.fail_if_no_peer_cert = false
  3. 重启 RabbitMQ 服务后生效

  4. 验证

    rabbitmq-diagnostics listeners

配置选项

  • 容器端口说明

    端口号用途必要性
    15672通过 HTTP 访问 RabbitMQ 控制台必选
    5672RabbitMQ 连接端口可选
    4369Erlang distribution可选
  • 命令行:rabbitmqctl

  • API

管理维护

升级

Upgrading RabbitMQ

修改密码

运行命令 rabbitmqctl change_password admin newpassword 即可

故障

RabbitMQ 远程连接失败?

远程连接失败,请检查如下几点:

  • 安全组对应的端口是否开启

  • 创建的RabbitMQ 账号是否分配角色(下图的test用户由于没有分配角色,导致它无法远程连接)

RabbitMQ 服务无法启动?

以调试模式运行 rabbitmq-server console,便可以查看启动状态和错误

在Chrome下修改密码后报错?

这个并不是服务器端的问题,只要更新浏览器即可。

chrome error of RabbitMQ