zoukankan      html  css  js  c++  java
  • rabbitmq-server 安装

    安装erlang:

    wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

    rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

    yum install erlang

    安装rabbitmq:

    yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm

    安装时如果遇到下面的依赖错误:

    Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel) Requires: libreadline.so.5()(64bit)

    可以尝试先执行:

    yum install socat

    RabbitMQ的一些基本操作:

    # 添加开机启动RabbitMQ服务

    systemctl enable rabbitmq-server.service

    # 查看服务状态

    systemctl status  rabbitmq-server.service

    # 启动服务

    systemctl start rabbitmq-server.service

    # 停止服务

    systemctl stop rabbitmq-server.service

    # 查看当前所有用户

    rabbitmqctl list_users

    # 查看默认guest用户的权限

    rabbitmqctl list_user_permissions guest

    # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户

    rabbitmqctl delete_user guest

    # 添加新用户

    rabbitmqctl add_user username password

    # 设置用户tag

    rabbitmqctl set_user_tags username administrator

    # 赋予用户默认vhost的全部操作权限

    rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

    # 查看用户的权限

    rabbitmqctl list_user_permissions username

    更多关于rabbitmqctl的使用,可以参考帮助手册

    开启web管理接口

    如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。

    rabbitmq-plugins enable rabbitmq_management

    访问:  http://localhost:15672

    配置RabbitMQ

    关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
    关于每个配置项的具体作用,可以参考官方文档

    开启用户远程访问

    默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:

    {loopback_users, []}

    另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。

    {loopback_users, ["admin"]}

    restart …

     

    设置权限

    rabbitmqctl add_vhost admin

    rabbitmqctl set_permissions -p admin  admin ".*" ".*" ".*"

    注释:主要是set_permissions的使用,先看下命令的格式:

    set_permissions [-p vhost] {user} {conf} {write} {read}

    需要注意以下几点的理解:

    1.这里的权限,只是针对一般用户的访问权限,注意和角色的区分。举个例子来说,非管理用户(普通用户),角色设置为none,然后在这里配置conf、write、read的权限。

    2.conf、write、read采用正则表达式,这里的正则主要是针对exchange和queue。主要2种特殊的表达式:

    ^$:表示完全不匹配(即没有权限)

    .*:表示匹配所有(即所有权限)

    常用命令

    add_user <UserName> <Password>
    delete_user <UserName>
    change_password <UserName> <NewPassword>
    list_users
    add_vhost <VHostPath>
    delete_vhost <VHostPath>
    list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
    clear_permissions [-p <VHostPath>] <UserName>
    list_permissions [-p <VHostPath>]
    list_user_permissions <UserName>
    list_queues [-p <VHostPath>] [<QueueInfoItem> ...]
    list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
    list_bindings [-p <VHostPath>]
    list_connections [<ConnectionInfoItem> ...]

    转自--https://www.linuxidc.com/Linux/2018-04/151796.htm

  • 相关阅读:
    人名币转大写
    Http协议与TCP协议简单理解
    unity3d常用属性汇总
    ConcurrentHashMap的key value不能为null,map可以?
    一个线程池中的线程异常了,那么线程池会怎么处理这个线程?
    Dubbo负载均衡算法
    [LeetCode] 240. 搜索二维矩阵 II ☆☆☆(二分查找类似)
    [LeetCode] 74. 搜索二维矩阵 ☆☆☆(二分查找)
    Maven中的dependencyManagement 意义
    深入理解maven构建生命周期和各种plugin插件
  • 原文地址:https://www.cnblogs.com/lhlucky/p/12124003.html
Copyright © 2011-2022 走看看