00. RabbitMQ基础实践-单节点环境安装

488 阅读2分钟

一、安装

  • 安装依赖:

    yum install socat -y
    
  • 下载并安装Erlang:

    # download
    wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.0.2/erlang-23.0.2-1.el7.x86_64.rpm
    # install
    rpm -ivh erlang-23.0.2-1.el7.x86_64.rpm
    
  • 安装RabbitMQ

    # download
    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm
    # install
    rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm
    # 
    systemctl list-unit-files|grep rabbitmq-server
    systemctl aux|grep rabbitmq-server
    

rabbitmq实际的安装位置是:/usr/lib/rabbitmq

二、启动并创建用户

  • 启用管理插件:

    [root@localhost zephyr]# rabbitmq-plugins enable rabbitmq_management
    Enabling plugins on node rabbit@localhost:
    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
    
    set 3 plugins.
    Offline change; changes will take effect at broker restart.
    
    # 查看所有插件
    rabbitmq-plugins list
    
  • 启动RabbitMQ(两种模式二选一即可):

    # 前台启动
    rabbitmq-server
    
    # 后台启动
    systemctl start rabbitmq-server
    # 或 rabbitmq-server -detached
    
  • 添加用户:

    rabbitmqctl add_user root 123456
    
    # 查看帮助:
    rabbitmqctl --help add_user
    
  • 给用户配置虚拟机权限:

    rabbitmqctl set_permissions root -p / ".*" ".*" ".*"
    
    # 查看帮助:
    [root@localhost zephyr]# rabbitmqctl --help set_permissions
    
    Usage
    
    rabbitmqctl [--node <node>] [--longnames] [--quiet] set_permissions [--vhost <vhost>] <username> <conf> <write> <read>
    
  • 给用户设置标签:

    rabbitmqctl set_user_tags root administrator
    
    # 查看帮助:
    rabbitmqctl --help set_user_tags
    

这里简单说一下用户标签可以有哪些值:

  • 不设置:没有访问management插件web页面的权限
  • management:可以使用消息协议做任何操作的权限,加上:
    • 可以使用AMQP协议登录的虚拟主机的权限
    • 查看它们能登录的所有虚拟主机中所有队列、交换器和绑定的权限
    • 查看和关闭它们自己的通道和连接的权限
    • 查看它们能访问的虚拟主机中的全局统计信息,包括其他用户的活动
  • policymaker:所有management标签可以做的,加上:
    • 在它们能通过AMQP协议登录的虚拟主机上,查看、创建和删除策略以及虚拟主机参数的权限
  • monitoring:所有management能做的,加上:
    • 列出所有的虚拟主机,包括列出不能使用消息协议访问的虚拟主机的权限
    • 查看其他用户连接和通道的权限
    • 查看节点级别的数据如内存使用和集群的权限
    • 查看真正的全局所有虚拟主机统计数据的权限
  • administrator:所有policymaker和monitoring能做的,加上:
    • 创建删除虚拟主机的权限
    • 查看、创建和删除用户的权限
    • 查看、创建和删除权限的权限
    • 关闭其他用户连接的权限

三、访问

这里访问的是管理插件(rabbitmq_management)自带的web页面

打开浏览器,访问http://ip:15672 ,用户名root,密码123456