1. rpm 签名导入
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
2. 安装rabbitmq_erlang, 仅支持rabbitmq的erlang
2.1 rabbitmq_erlang.repo 文件创建
命令行执行:
# 1. 创建文件
touch /etc/yum.repos.d/rabbitmq_erlang.repo
# 2. 编辑文件
vim /etc/yum.repos.d/rabbitmq_erlang.repo
内容如下:
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
2.2 安装:
yum install erlang
3. 安装RabbitMQ
3.1. 配置rabbitmq yum 源
# 1. 创建文件
touch /etc/yum.repos.d/rabbitmq.repo
# 2. 编辑文件
vim /etc/yum.repos.d/rabbitmq.repo
内容:
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
3.2 使用rpm 下载RPM文件
# 1. 下载rpm安装包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.17/rabbitmq-server-3.7.17-1.el7.noarch.rpm
# 2. 安装rpm
yum install rabbitmq-server-3.7.17-1.el7.noarch.rpm
3.3. 开机启动
chkconfig rabbitmq-server on
注:
参考文档:
4. RabbitMQ 管理
# 1. 启动
/sbin/service rabbitmq-server start
# 2. 停止
/sbin/service rabbitmq-server stop
# 3. 状态
/sbin/service rabbitmq-server status
5. RabbitMQ 插件管理
5.1 插件列表
# 1. 定位sbin 目录
cd /sbin/
# 2. 插件列表
./rabbitmq-plugins list
5.2 启动管理插件
# 1. 浏览器管理页面
rabbitmq-plugins enable rabbitmq_management
# 2. stomp 协议支持
rabbitmq-plugins enable rabbitmq_stomp
注意,插件激活不需要重启
管理插件访问地址:http://127.0.0.1:15672/
用户管理
# 1. 添加用户
rabbitmqctl add_user admin admim
# 2. 删除用户
rabbitmqctl delete_user admin
# 3. 用户列表
rabbitmqctl list_users
# 4. 修改密码
rabbitmqctrl change_password admin admin123
# 5. 用户分配角色
rabbitmqctl set_user_tags admin administrator
# 6. 为用户分配权限
# 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
注意:
- 为了安全最好删除guest用户
- 建立用户之后需要设置角色和分配权限,vhost1 可以使用默认的 “/”
角色说明:
为用户添加权限,已经基本可以满足我们的需求了,但有时,我们可以使用系统预置的角色,为用户赋予角色,那么该用户也就拥有了该角色所赋予的所有权限了,在 RabbitMQ 中,角色大致分为超级管理员、监控者、策略制定者、普通管理者以及其他,它们的区别是什么?(1) 超级管理员(administrator)
可登陆管理控制台(启用managementplugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。(2) 监控者(monitoring)
可登陆管理控制台(启用managementplugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)(3) 策略制定者(policymaker)
可登陆管理控制台(启用managementplugin的情况下),同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。(4) 普通管理者(management)
仅可登陆管理控制台(启用managementplugin的情况下),无法看到节点信息,也无法对策略进行管理。
6. RabbitMQ配置
通常配置文件放在:/etc/rabbitmq/rabbitmq.conf
配置文件注意:
- 一个配置占一行
- 配置结果 key = value
- # 开头为的注释行
例如修端口如下
# 默认监听端口
listeners.tcp.default = 5673
# 修改STOMP默认端口61613修改为51513
stomp.listeners.tcp.1 = 0.0.0.0:51513
常用配置参考:https://www.rabbitmq.com/configure.html#config-location
GitHub配置文件Demo: https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example