• centos7 安装rabbitmq


     

    1、安装 Erlang

      就想我们编写Java引用程序需要安装 JDK一样,安装 RabbitMQ ,我们也需要安装 Erlang 。

    ①、下载 erlang 安装包

      将安装包下载到 /home/erlang 目录下。

    1 wget http://www.erlang.org/download/otp_src_R16B02.tar.gz

    ②、解压

    1 tar -zxvf otp_src_R16B02.tar.gz

    ③、编译安装

      首先进入解压的文件目录,然后安装如下插件

      接着设置编译目录为 /usr/local/erlang

      最后执行 make  和 make install 命令即可。

      全部命令步骤为:

    1、cd otp_src_R16B02
    2、yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel gtk2-devel binutils-devel
    3、./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll
    4、make
    5、make install

    ④、配置环境变量

      通过 vim /etc/profile 命令进入文件,然后敲入如下代码

      最后通过如下命令使环境变量生效:

    source /etc/profile

    ⑤、验证

      在任意目录下输入 erl 命令,出现如下情况,则 erlang 安装成功:

    报错:
    wx : wxWidgets not found, wx will NOT be usable 
    解决方法:

    wget https://netix.dl.sourceforge.net/project/wxwindows/3.0.1/wxWidgets-3.0.1.tar.bz2
     bzip2 -dkv wxWidgets-3.0.1.tar.bz2 
     tar -xvf wxWidgets-3.0.1.tar
    cd wxWidgets-3.0.1/
    ./configure --with-opengl --enable-debug --enable-unicode 
    make && make install

    报错:configure: error: OpenGL libraries not available
    解决方法:

    yum install mesa *

    yum install freeglut*

    解决报错直接运行 make && make install 来安装wxWidgets

    然后在切换到erlang的安装目录下执行make && make install 来安装erlang

    2、安装 RabbitMQ

    ①、下载安装包

      创建 /home/rabbitmq 目录,在该目录下执行如下命令:

    wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-3.1.5.tar.gz 

    ②、解压

    tar -zxvf rabbitmq-server-3.1.5.tar.gz

    ③、编译安装

    1 cd rabbitmq-server-3.1.5 
    2 yum -y install xmlto 
    3 make
    4 make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR=/opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man

      将rabbitmq编译到/opt/mq/rabbitmq目录。

    ④、开启 web 插件

    1 cd /opt/mq/rabbitmq/sbin 
    2 mkdir /etc/rabbitmq/ 
    3 ./rabbitmq-plugins enable rabbitmq_management

    3、启动和关闭RabbitMQ

    1 启动监控管理器:rabbitmq-plugins enable rabbitmq_management
    2 关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
    3 启动rabbitmq:rabbitmq-service start
    4 关闭rabbitmq:rabbitmq-service stop
    5 查看所有的队列:rabbitmqctl list_queues
    6 清除所有的队列:rabbitmqctl reset
    7 关闭应用:rabbitmqctl stop_app
    8 启动应用:rabbitmqctl start_app

      通过第 3 条命令启动rabbitmq 服务,然后在浏览器上输入 

    ip:15672

      出现如下界面即可。其中 ip 是安装 rabbitmq 的机器ip地址,15672 是rabbitmq的默认端口。

      ps:如果不能打开如下画面,可能是防火墙没有关闭。centos6 关闭防火墙命令:

    关闭命令:  service iptables stop 
    永久关闭防火墙:chkconfig iptables off
    查看防火墙状态:service iptables status

      默认用户名和密码都是 guest。我们可以用 guest 是不能登陆的,需要重新创建用户并赋予角色,可参考链接:https://www.cnblogs.com/zongyl/p/5913808.html

    默认用户guest 只允许localhost登录。

    so... 我们自己建立用户

    1. 用户管理

    用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

    相应的命令

    (1) 新增一个用户

    rabbitmqctl  add_user  Username  Password

    (2) 删除一个用户

    rabbitmqctl  delete_user  Username

    (3) 修改用户的密码

    rabbitmqctl  change_password  Username  Newpassword

    (4) 查看当前用户列表

    rabbitmqctl  list_users

    2. 用户角色

    按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

    (1) 超级管理员(administrator)

    可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

    (2) 监控者(monitoring)

    可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

    (3) 策略制定者(policymaker)

    可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。

    与administrator的对比,administrator能看到这些内容

    (4) 普通管理者(management)

    仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

    (5) 其他

    无法登陆管理控制台,通常就是普通的生产者和消费者。

    了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。

    设置用户角色的命令为:

    rabbitmqctl  set_user_tags  User  Tag

    User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。

    也可以给同一用户设置多个角色,例如

    rabbitmqctl  set_user_tags  hncscwc  monitoring  policymaker

    3. 用户权限

    用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。

    例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。

    相关命令为:

    (1) 设置用户权限

    rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP

    (2) 查看(指定hostpath)所有用户的权限信息

    rabbitmqctl  list_permissions  [-p  VHostPath]

    (3) 查看指定用户的权限信息

    rabbitmqctl  list_user_permissions  User

    (4)  清除用户的权限信息

    rabbitmqctl  clear_permissions  [-p VHostPath]  User

  • 相关阅读:
    CentOS查看CPU信息、位数、多核信息
    Linux常用命令大全
    chmod命令详细用法
    tar命令的详细解释
    yum和rpm命令详解
    LeetCode 241. Different Ways to Add Parentheses
    LeetCode 139. Word Break
    LeetCode 201. Bitwise AND of Numbers Range
    LeetCode 486. Predict the Winner
    LeetCode 17. Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/gaodi2345/p/11193234.html
Copyright © 2020-2023  润新知