Rabbitmq-2.远程访问及管理页面配置

发表于:2022-9-13 09:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:pandafly    来源:稀土掘金

  1.开启后台管理页面
  查看Rabbitmq当前是否为运行状态,如果不是运行状态,需要先启动。
  # /sbin/rabbitmqctl status
  # /sbin/service rabbitmq-server start
  启动成功后查看插件列表:
  [root@localhost rabbitmq]# rabbitmq-plugins list
   Configured: E = explicitly enabled; e = implicitly enabled
   | Status: * = running on rabbit@localhost
   |/
  ...
  [  ] rabbitmq_management               3.7.8
  [  ] rabbitmq_management_agent         3.7.8
  ...
  开启:
  [root@localhost rabbitmq]# rabbitmq-plugins enable rabbitmq_management
  The following plugins have been configured:
    rabbitmq_management
    rabbitmq_management_agent
    rabbitmq_web_dispatch
  Applying plugin configuration to rabbit@localhost...
  The following plugins have been enabled:
    rabbitmq_management
    rabbitmq_management_agent
    rabbitmq_web_dispatch
  started 3 plugins.
  [root@localhost rabbitmq]#
  2.创建用户及授权
  Rabbitmq从3.3.0开始默认用户(guest/guest)只能通过除localhost的访问,我们自己创建登录用户并授权管理员登录。
  创建用户admin(用户名/密码:admin/admin),命令行输入命令 rabbitmqctl 可查看语法。
  //语法 rabbitmqctl add_user <username> <password>
  [root@localhost rabbitmq]# rabbitmqctl add_user admin admin
  Adding user "admin" ...
  给用户admin授管理员(administrator)角色:
  //语法  rabbitmqctl set_user_tags <username> <tag> [...] 
  [root@localhost rabbitmq]# rabbitmqctl set_user_tags admin administrator
  Setting tags for user "admin" to [administrator] ...
  [root@localhost rabbitmq]# rabbitmqctl list_users
  Listing users ...
  admin[administrator]
  guest[administrator]
  给用户admin设置权限(开启远程访问)(如果需要远程连接,例如java项目中需要调用mq,则一定要配置,否则无法连接到mq);
  设置用户admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源。
  //给用户admin权限
  [root@localhost rabbitmq]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
  Setting permissions for user "admin" in vhost "/" ...
  //查看权限
  [root@localhost rabbitmq]# rabbitmqctl list_permissions -p /
  Listing permissions for vhost "/" ...
  admin.*.*.*
  guest.*.*.*
  此时,还不能通过远程IP:port访问,因为防火墙的原因。
  3.开启防火墙端口
  //查看已开放的端口(默认不开放任何端口)
  firewall-cmd --list-ports
  //开启15672端口
  firewall-cmd --zone=public --add-port=15672/tcp --permanent
  //重启防火墙
  firewall-cmd --reload
  //再查看端口是否开通,如下说明端口开启了
  [root@localhost rabbitmq]# firewall-cmd --list-ports
  15672/tcp
  //其他防火墙操作命令
  //停止防火墙
  systemctl stop firewalld.service
  //禁止防火墙开机启动
  systemctl disable firewalld.service
  //删除(关闭端口)
  firewall-cmd --zone= public --remove-port=15672/tcp --permanent
  此时浏览器输入地址: http://IP:15672  ,然后可使用用户(admin/admin)登录。
  4.客户端远程连接配置
  [root@localhost rabbitmq]# whereis rabbitmq.config
  rabbitmq: /usr/lib/rabbitmq /etc/rabbitmq
  默认情况下/etc/rabbitmq是没有rabbitmq.config文件的,我们需要从安装目录拷贝一份到该路径下:
  [root@localhost rabbitmq]# cd /etc/rabbitmq
  //拷贝文件
  [root@localhost rabbitmq]# cp /usr/share/doc/rabbitmq-server-3.7.8/rabbitmq.config.example /etc/rabbitmq/
  //重命名
  [root@localhost rabbitmq]# mv rabbitmq.config.example rabbitmq.config
  修改rabbitmq.config,加入配置[{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}]
  [root@localhost rabbitmq]# vi rabbitmq.config 
  %% -*- mode: erlang -*-
  %% ----------------------------------------------------------------------------
  %% RabbitMQ Sample Configuration File.
  %%
  %% Related doc guide: http://www.rabbitmq.com/configure.html. See
  %% http://rabbitmq.com/documentation.html for documentation ToC.
  %% ----------------------------------------------------------------------------
  [
   {rabbit,
    [%%
     %% Networking
     %% ====================
     %%
     %% Related doc guide: http://www.rabbitmq.com/networking.html.
     %% By default, RabbitMQ will listen on all interfaces, using
     %% the standard (reserved) AMQP port.
     %%
     %% {tcp_listeners, [5672]},
  %% 下面这行是加入的,其他的不用修改 
  {tcp_listeners, [5672]},{loopback_users, ["admin"]}
     %% To listen on a specific interface, provide a tuple of {IpAddress, Port}.
  保存退出,重启Rabbitmq。
  # /sbin/service rabbitmq-server restart
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号