zoukankan      html  css  js  c++  java
  • 在 CentOS7 上安装 RabbitMQ 消息队列中间件

    RabbitMQ 是流行的开源消息队列系统,是 AMQP(Advanced Message Queuing Protocol 高级消息队列协议)的标准实现,用 erlang 语言开发。RabbitMQ 具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。

    一、安装 erlang

    // 下载
    rpm -Uvh ... (地址已不可访问)
    // 安装
    yum -y localinstall erlang-19.0.4-1.el7.centos.x86_64.rpm

    安装完成后再安装 RabbitMQ。

     

    二、安装 RabbitMQ

    1. 下载 rpm:

    wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

    2. 安装:

    yum -y localinstall rabbitmq-server-3.6.6-1.el7.noarch.rpm

    3. 启动

    systemctl start rabbitmq-server.service

    4. 查看状态

    systemctl status rabbitmq-server.service

    如下则表示安装成功:

    5. 添加配置文件

    上图我们看到日志文件在:Logs: /var/log/rabbitmq/rabbit@....log

    打开日志可以看到如下内容:

    这里提示没有找到配置文件,我们可以手动在这个目录下添加一个:

    // 跳转目录
    cd /etc/rabbitmq
    // 创建文件
    vim rabbitmq.config

    添加内容:

    [{rabbit, [{loopback_users, []}]}].

    重启:

    systemctl restart rabbitmq-server.service

    三、开启管理端

    1. 启动插件

    rabbitmq-plugins enable rabbitmq_management

     2. 修改防火墙

    // 开放管理端端口
    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    // 开放服务器端口
    firewall-cmd --zone=public --add-port=5672/tcp --permanent
    // 重启
    firewall-cmd --reload

    3. 访问管理页面

    http://localhost:15672

    RabbltMQ 默认的账号 guest,密码 guest。

    该账号只允许在本地访问。

    4. 配置远程访问

    // 添加用户
    rabbitmqctl add_user admin admin123
    // 添加权限
    rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
    // 赋予超级管理员角色
    rabbitmqctl set_user_tags admin administrator

    安装到这里就结束了,以下是对 RabbitMQ 使用的一些知识扩展。

    四、重置 RabbitMQ 配置

    1. 关闭 RabbitMQ

    rabbitmqctl stop_app

    2. 重置

    rabbitmqctl reset

    3. 启动 RabbitMQ

    rabbitmqctl start_app

    重置后,远程用户也会清除。需要重新配置远程用户。

    五、其他命令

    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> ...]
  • 相关阅读:
    组件之间通信(父传子)
    flex布局
    ffmpeg解析TS流(转)
    swift之?和!的含义(转)
    Swift之画圆角添加多个枚举值方法
    swift之singleton
    swift之闭包
    Swift之fallthrough
    Selector
    Settings Bundle
  • 原文地址:https://www.cnblogs.com/libra0920/p/7920698.html
Copyright © 2011-2022 走看看