zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    牛客网暑期ACM多校训练营(第一场)
    ACM-ICPC-Swiss-Subregional 2017 训练日志
    2016 全国多校第二场 训练日志
    2018湖南多校第八场 训练日志
    2017 全国多校第九场 训练日志
    2017 全国多校第十场 训练日志
    2014 Kuala Lumpur 训练日志
    2018湖南多校第五场-20180506 训练日志
    2017icpc 花莲训练日志
    面试总结
  • 原文地址:https://www.cnblogs.com/gaodi2345/p/11193234.html
Copyright © 2011-2022 走看看