CentOS 6.5 中安装 RabbitMQ -单机版

文章主要参考:CentOS安装RabbitMQ

系统版本:CentOS 6.5
RabbitMQ-Server3.5.1

先执行:

[root@localhost app]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

1.安装Elang (推荐后面的yum安装)

wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc

添加RPMforge支持(64位)

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm  
//导入 key 
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt 
//安装 RPMforge
rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm

安装erlang

yum install erlang
如果yum出现“No module named yum”错
误,修改yum文件

vi /usr/bin/yum
!/usr/bin/python 修改为 #!/usr/bin/python2.4

安装完成后可以用erl命令查看是否安装成功

erl -version

这里写图片描述

2.安装RabbitMQ Server

下载RabbitMQ Server

打开RabbitMQ的下载页面,http://www.rabbitmq.com/download.html ,选择对应平台的二进制发行包下载;目前使用的是CentOS ,属于与RHEL/Fedora相兼容的版本,下载针对RHEL的二进制版本(Binary)即可:
本例中RabbitMQ的版本是3.5.1,下载得到文件rabbitmq-server-3.5.1-1.noarch.rpm

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmq-server-3.5.1-1.noarch.rpm

安装RabbitMQ Server

rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc 
yum install rabbitmq-server-3.5.1-1.noarch.rpm

3.启动RabbitMQ

配置为守护进程随系统自动启动,root权限下执行:

chkconfig rabbitmq-server on

启动rabbitMQ服务

/sbin/service rabbitmq-server start

如果报如下异常:

Starting rabbitmq-server (via systemctl):  Job for rabbitmq-server.service failed. See 'systemctl status rabbitmq-server.service' and 'journalctl -xn' for details. [FAILED]

尝试下面的操作:
禁用 SELinux ,修改 /etc/selinux/config
SELINUX=disabled
修改后重启系统

配置修改 rabbitmq.config :

将/usr/share/doc/rabbitmq-server-3.5.1下面的 rabbitmq.config.example 复制到 /etc/rabbitmq/下面, 重命名为 rabbitmq.config
这里写图片描述

修改如下参数:

这里写图片描述

修改后重启

4.安装Web管理界面插件

终端输入:

rabbitmq-plugins enable rabbitmq_management

安装成功后会显示如下内容

The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

5.登录Web管理界面

安装好插件并开启服务后,可以浏览器输入localhost:15672,账号密码全输入guest即可登录。

这里如果显示找不到主机,请在hosts文件中添加

vi /etc/hosts

127.0.0.1  localhost

这里需要注意下,从3.3.1版本开始,RabbitMQ默认不允许远程ip登录,即只能使用localhost登录。如果希望远程登录,请添加用户权限

6.设置RabbitMQ远程ip登录

由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq。

这里我们以创建个root帐号,密码root为例,创建一个账号并支持远程ip访问。

6.1 创建账号

rabbitmqctl add_user root root

6.2 设置用户角色

rabbitmqctl  set_user_tags  root  administrator

6.3 设置用户权限

rabbitmqctl set_permissions -p "/" root ".*" ".*" ".*"

6.4 设置完成后可以查看当前用户和角色(需要开启服务)

rabbitmqctl list_users

这是你就可以通过其他主机的访问RabbitMQ的Web管理界面了,访问方式,浏览器输入:serverip:15672。其中serverip是RabbitMQ-Server所在主机的ip。

这里写图片描述

7.RabbitMQ常用操作:

7.1 用户管理

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

rabbitmqctl  add_user  Username  Password

2 删除一个用户

rabbitmqctl  delete_user  Username

3 修改用户的密码

rabbitmqctl  change_password  Username  Newpassword

4 查看当前用户列表

rabbitmqctl  list_users

7.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  username  monitoring  policymaker

7.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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章