您的位置:首页 > 运维架构 > Linux

CentOS7环境中安装RabbitMQ

2020-08-15 03:02 267 查看

一、CentOS7环境中安装RabbitMQ

本文以安装rabbitmq-server-3.6.5为例

1.软件准备

yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel

2. 下载RabbitMQ所需软件包

wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

3. 安装服务命令

rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

4. 修改用户登录与连接心跳检测,注意修改

vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
修改点1:loopback_users 中的 <<"guest">>,只保留guest (用于用户登录)
修改点2:heartbeat 为10(用于心跳连接)

5. 安装管理插件

(1) 首先启动服务(后面包含了停止、查看状态以及重启的命令)

/etc/init.d/rabbitmq-server start | stop | status | restart

(2)查看服务(5672是Rabbit的默认端口)

lsof -i:5672

(3)启动浏览器,管理RabbitMQ功能,目的是浏览器访问RabbitMQ,进行后台管理

rabbitmq-plugins enable rabbitmq_management

(4)查看管理端口有没有启动

lsof -i:15672 或者 netstat -tnlp | grep 15672

6.测试
访问地址( http://你的ip地址:15672/),输入用户名密码均为 guest

二、RabbitMQ登录过程中的问题解决和RabbitMQ指令说明

1.刚安装完rabbitmq,登录的时候出现login failed的问题

现象:

原因:
查看rabbitmq的文档,发现在3.3.1以后的版中,处于安全的考虑,guest这个默认的用户只能通过localhost来登录,其他的IP无法直接使用这个账号。

解决:
方法1:编写配置文件:/etc/rabbitmq/rabbitmq.config,并在其中添加以下内容:

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

方法2:创建新用户,将其身份改为管理者

修改完成后记得重启服务

2.用户相关操作指令
(1)主要指令

rabbitmqctl  add_user  <Username> <Password>            添加用户

rabbitmqctl set_permissions -p "/" <Username> ".*" ".*" ".*"   权限设置

 rabbitmqctl set_user_tags <Username> administrator         设计角色

 rabbitmqctl  set_user_tags  <Username> monitoring  policymaker   设计多个角色   

 rabbitmqctl  clear_permissions [-p <VHostPath>] <Username>     删除角色  

 rabbitmqctl  list_user_permissions  <Username>      查看指定用户权限 

(2)其他指令

  rabbitmqctl add_user <Username> <Password>       添加用户

  rabbitmqctl delete_user <Username>           删除用户

  rabbitmqctl change_password <Username> <NewPassword> 修改密码
  
   rabbitmqctl list_users                      查看已有用户

3.用户角色及其权限
(1) 超级管理员(administrator)
  可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

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

(3) 策略制定者(policymaker)
  可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
  
(4) 普通管理者(management)
  仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: