RabbitMQ的安装及使用

一般来说安装 RabbitMQ 之前要安装 Erlang ,可以去Erlang官网下载。

接着去RabbitMQ官网下载安装包,之后解压缩即可。

Erlang官方下载地址:https://www.erlang.org/downloads

RabbitMQ官方下载地址:https://www.rabbitmq.com/download.html 

 

1.安装前的准备工作

1.1.依赖包安装

安装RabbitMQ之前,必须要先安装RabbitMQ所需要的依赖包,可以使用下面的一次性安装命令

yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto -y

1.2.安装Erlang

  1. 将Erlang源代码包上传到liunx服务器上的某个文件夹中,例如:otp_src_19.3.tar.gz上传到Linux的/home目录下
  2. 解压erlang 源码包   tar -zxvf  源码包名称,例如:tar-zxvf  otp_src_19.3.tar.gz

  3. 手动创建erlang的安装目录  mkdir 路径名称,例如:mkdir /usr/local/erlang

  4. 进入erlang的解压目录,由于在第2步中解压Erlang的源码包时没有指定解压的文件夹地址,故解压目录和第1步中的Erlang源码包的上传目录相同,我这里为:/home目录下面

  5. 配置erlang的安装信息  ./configure --prefix=/usr/local/erlang --without-javac

  6. 编译并安装  make && make install

  7. 配置环境变量   vim  /etc/profile

  8. 将下面这些信息填写到profile文件的最后

    ERL_HOME=/usr/local/erlang
    PATH=$ERL_HOME/bin:$PATH
    export ERL_HOME PATH
    其中ERL_HOME为erlang的安装目录
    PATH=$ERL_HOME/bin:$PATH的意思是拼接PATH

  9. 启动环境变量配置文件  source /etc/profile
     

 

2.安装RabbitMQ

  1. 将RabbitMQ安装包上传到liunx服务器上某个文件夹中,例如:将安装包rabbitmq-server-3.7.2-1.el7.noarch.rpm上传到/home目录
  2. 安装RabbitMQ   命令: rpm -ivh --nodeps  安装包名称,例如:rpm -ivh --nodeps rabbitmq-server-3.7.2-1.el7.noarch.rpm

 

3.RabbitMQ的常用命令

3.1启动和关闭

1.启动rabbitmq,命令:rabbitmq-server start &,其中&代表后台启动

          注意:这里可能会出现错误,错误原因是/var/lib/rabbitmq/.erlang.cookie文件权限不够。

                 解决方案:对这个文件授权

                          chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

                          chmod 400 /var/lib/rabbitmq/.erlang.cookie

2.关闭服务,命令:rabbitmqctl stop

3.2插件管理

  1. 添加插件  rabbitmq-plugins enable {插件名}
  2. 删除插件  rabbitmq-plugins disable {插件名}
  3. 使用浏览器访问管控台    http://RabbitMQ服务器IP:15672   例如:http://192.168.71.128:15672

    注意:RabbitMQ启动以后,可以使用浏览器进入管控台,但是默认情况RabbitMQ不允许直接使用浏览器浏览器进行访问,因此必须添加插件   rabbitmq-plugins enable rabbitmq_management

3.2用户管理

RabbitMQ安装成功后使用默认用户名guest登录

账号:guest

密码:guest

注意:这里guest只允许本机登录访问,需要创建用户并授权远程访问命令如下:

  1. 添加用户:rabbitmqctl add_user {username} {password},例如: rabbitmqctl add_user root root
  2. 删除用户:rabbitmqctl delete_user {username},例如:rabbitmqctl delete_user root
  3. 修改密码:rabbitmqctl change_password {username} {newpassword},例如:rabbitmqctl change_password root 123456
  4. 设置用户角色:rabbitmqctl set_user_tags {username} {tag},例如:rabbitmqctl set_user_tags root administrator

         其中,tag参数表示用户角色取值为:management monitoring policymaker , administrator

         各角色详解:

         management

                用户可以通过AMQP协议做的任何事外加:

                列出自己可以通过AMQP协议登入的virtual hosts  

                查看自己的virtual hosts中的queues, exchanges 和 bindings

                查看和关闭自己的channels 和 connections

                查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

         policymaker

                 management可以做的任何事外加:

                 查看、创建和删除自己的virtual hosts所属的policies和parameters

         monitoring  

                 management可以做的任何事外加:

                 列出所有virtual hosts,包括他们不能登录的virtual hosts

                 查看其他用户的connections和channels

                 查看节点级别的数据如clustering和memory使用情况

                 查看真正的关于所有virtual hosts的全局的统计信息

         administrator   

                 policymaker和monitoring可以做的任何事外加:

                 创建和删除virtual hosts

                 查看、创建和删除users

                 查看创建和删除permissions

                 关闭其他用户的connections

3.4权限管理

1.授权命令:rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}

       -p vhostpath :用于指定一个资源的命名空间,例如 –p / 表示根路径命名空间

       user:用于指定要为哪个用户授权,填写用户名

       conf:一个正则表达式match哪些配置资源能够被该用户配置。
       write:一个正则表达式match哪些配置资源能够被该用户读。
       read:一个正则表达式match哪些配置资源能够被该用户访问。

       例如:rabbitmqctl set_permissions -p / root '.*'  '.*'  '.*', 用于设置root用户拥有对所有资源的 读写配置权限

2.查看用户权限 rabbitmqctl  list_permissions [vhostpath],vhostpath为资源的命名空间

例如:

  查看根路径下的所有用户权限  rabbitmqctl  list_permissions

  查看指定命名空间下的所有用户权限  rabbitmqctl  list_permissions /abc
3.查看指定用户下的权限rabbitmqctl  list_user_permissions {username}

例如:  查看root用户下的权限  rabbitmqctl  list_user_permissions root
4.清除用户权限rabbitmqctl  clear_permissions {username}

例如:清除root用户的权限  rabbitmqctl  clear_permissions root
 

3.5.vhost管理 

说明:vhost是RabbitMQ中的一个命名空间,可以限制消息的存放位置,利用这个命名空间可以进行权限的控制,有点类似Windows中的文件夹一样,在不同的文件夹中存放不同的文件。

  • 添加vhost: rabbitmqctl add vhost {name},例如:rabbitmqctl add vhost xxx
  • 删除vhost:rabbitmqctl delete vhost {name},例如:rabbitmqctl delete vhost xxx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值