• #rabbitmq-plugins">#rabbitmq-plugins
  • #启用插件">#启用插件
  • #查看插件使用情况">#查看插件使用情况
  • #关闭插件">#关闭插件
  • #web 界面">#web 界面

    使用 rabbitmqctl 工具管理 RabbitMQ,当前的用户需要拥有访问 Erlang cookie 的权限,由于服务器可能是以 guest 或则 root 用户身份来运行的,因此需要获得这些文件的访问权限,有可能就引申出来一些权限的管理问题。
    还可以通过 RabbitMQ managemnent 插件来管理,它同样是由 Erlang 语言编写的,和 RabbitMQ 服务运行在同一个 erlang 虚拟机中。
    该插件就是涵盖了所有 RabbitMQ 管理的功能。
    使用 Web 管理界面需要启用 RabbitMQ management 插件,插件都默认放在 $RABBITMQ_HOME/plugins 目录下(也就是 RabbitMQ 安装目录下)

    1. [root@study ~]# ls /opt/rabbitmq/plugins/
    2. amqp_client-3.6.15.ez rabbitmq_federation-3.6.15.ez rabbitmq_sharding-3.6.15.ez rabbitmq_web_mqtt_examples-3.6.15.ez
    3. cowboy-1.0.4.ez rabbitmq_federation_management-3.6.15.ez rabbitmq_shovel-3.6.15.ez rabbitmq_web_stomp-3.6.15.ez
    4. cowlib-1.0.2.ez rabbitmq_jms_topic_exchange-3.6.15.ez rabbitmq_shovel_management-3.6.15.ez rabbitmq_web_stomp_examples-3.6.15.ez
    5. rabbit_common-3.6.15.ez rabbitmq_management-3.6.15.ez rabbitmq_stomp-3.6.15.ez ranch-1.3.2.ez
    6. rabbitmq_amqp1_0-3.6.15.ez rabbitmq_management_agent-3.6.15.ez rabbitmq_top-3.6.15.ez README
    7. rabbitmq_auth_backend_ldap-3.6.15.ez rabbitmq_management_visualiser-3.6.15.ez rabbitmq_tracing-3.6.15.ez recon-2.3.2.ez
    8. rabbitmq_auth_mechanism_ssl-3.6.15.ez rabbitmq_mqtt-3.6.15.ez rabbitmq_trust_store-3.6.15.ez sockjs-0.3.4.ez
    9. rabbitmq_consistent_hash_exchange-3.6.15.ez rabbitmq_random_exchange-3.6.15.ez rabbitmq_web_dispatch-3.6.15.ez
    10. rabbitmq_event_exchange-3.6.15.ez rabbitmq_recent_history_exchange-3.6.15.ez rabbitmq_web_mqtt-3.6.15.ez
    11. Copied!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    .ez 结尾的就是插件了,其中 rabbitmq_management-3.6.15.ez 则是 web 管理插件。

    #rabbitmq-plugins

    管理插件的工具就是 rabbitmq-plugins,语法如下

    1. rabbitmq-plugins [-n node] {command} [command options...]
    2. command 参数:
    3. enable:启用插件
    4. disable:关闭插件
    5. list:查看当前插件使用情况
    6. command options 参数:
    7. plugin-name:插件名称
    8. Copied!

    1
    2
    3
    4
    5
    6
    7
    8

    #启用插件

    1. rabbitmq-plugins enable {plugin-name}
    2. Copied!

    1

    实践练习

    1. # 启用 rabbitmq_management 插件
    2. [root@study ~]# rabbitmq-plugins enable rabbitmq_management
    3. The following plugins have been enabled:
    4. amqp_client
    5. cowlib
    6. cowboy
    7. rabbitmq_web_dispatch
    8. rabbitmq_management_agent
    9. rabbitmq_management
    10. Applying plugin configuration to rabbit@study... started 6 plugins.
    11. Copied!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    启用 rabbitmq_management 插件后,需要重启 rabbitmq 服务

    1. # 书上没有讲解怎么重启,笔者只能这样重启了
    2. [root@study ~]# rabbitmqctl stop
    3. Stopping and halting node rabbit@study
    4. [root@study ~]# rabbitmq-server -detached
    5. Warning: PID file not written; -detached was passed.
    6. Copied!

    1
    2
    3
    4
    5

    开放防火墙,插件会使用 15672 提供服务

    1. firewall-cmd --zone=public --add-port=15672/tcp --permanent
    2. firewall-cmd --reload
    3. Copied!

    1
    2

    然后访问,你的机器上的 15672 端口,比如笔者的 http://192.168.4.250:15672, 就能看到管理界面了

    #查看插件使用情况

    1. rabbitmq-plugins list
    2. Copied!

    1

    实践练习

    1. [root@study ~]# rabbitmq-plugins list
    2. Configured: E = explicitly enabled; e = implicitly enabled
    3. | Status: * = running on rabbit@study
    4. |/
    5. [e*] amqp_client 3.6.15
    6. [e*] cowboy 1.0.4
    7. [e*] cowlib 1.0.2
    8. [ ] rabbitmq_amqp1_0 3.6.15
    9. [ ] rabbitmq_auth_backend_ldap 3.6.15
    10. [ ] rabbitmq_auth_mechanism_ssl 3.6.15
    11. [ ] rabbitmq_consistent_hash_exchange 3.6.15
    12. [ ] rabbitmq_event_exchange 3.6.15
    13. [ ] rabbitmq_federation 3.6.15
    14. [ ] rabbitmq_federation_management 3.6.15
    15. [ ] rabbitmq_jms_topic_exchange 3.6.15
    16. [E*] rabbitmq_management 3.6.15
    17. [e*] rabbitmq_management_agent 3.6.15
    18. [ ] rabbitmq_management_visualiser 3.6.15
    19. [ ] rabbitmq_mqtt 3.6.15
    20. [ ] rabbitmq_random_exchange 3.6.15
    21. [ ] rabbitmq_recent_history_exchange 3.6.15
    22. [ ] rabbitmq_sharding 3.6.15
    23. [ ] rabbitmq_shovel 3.6.15
    24. [ ] rabbitmq_shovel_management 3.6.15
    25. [ ] rabbitmq_stomp 3.6.15
    26. [ ] rabbitmq_top 3.6.15
    27. [ ] rabbitmq_tracing 3.6.15
    28. [ ] rabbitmq_trust_store 3.6.15
    29. [e*] rabbitmq_web_dispatch 3.6.15
    30. [ ] rabbitmq_web_mqtt 3.6.15
    31. [ ] rabbitmq_web_mqtt_examples 3.6.15
    32. [ ] rabbitmq_web_stomp 3.6.15
    33. [ ] rabbitmq_web_stomp_examples 3.6.15
    34. [ ] sockjs 0.3.4
    35. Copied!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35

    上面也说明了:

    • e:是隐式启用
    • E:显式启用
      • 在运行中的插件

    可以看到上面 rabbitmq_management 是 E* ,就是我们刚才显式启用的。

    #关闭插件

    1. rabbitmq-plugins disable {plugin-name}
    2. Copied!

    1

    #web 界面

    http://192.168.4.250:15672 后,可以使用我们创建的账户来登录
    对于 web 界面的功能,这里就不再记录了,书上也只是截图了,其实他对应了前面讲解的一些管理功能。只是图形化了,可以参考前面的功能去界面上找对应的页面