阿里云ECS安装部署RabbitMQ3.7.x-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

阿里云ECS安装部署RabbitMQ3.7.x

简介: 阿里云ECS安装部署RabbitMQ3.7.x

RabbitMQ是一个开源的消息代理和队列服务器,通过Erlang编写,用来通过普通协议在完全不同的应用之间共享数据。并且RabbitMQ是基于高级消息队列(AMQP)协议的。

当前以Centos7系统为例,部署RabbitMQ3.7.x,由于RabbitMQ需要Erlang支持,所以这里先安装Erlang,你可以通过epel源来安装(epel提供的版本过旧),也可以通过配置yum源来安装,我这里以yum源来安装。

安装Erlang

1、配置Erlang源

cat > /etc/yum.repos.d/rabbitmq-erlang.repo << EOF
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
EOF

2、安装erlang和socat

yum install erlang socat -y

3、查看erlang版本

erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7.2

可以直接运行erl命令切换到Erlang shell

erl
Erlang/OTP 22 [erts-10.7.2] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]
Eshell V10.7.2 (abort with ^G)
1>
按ctrl+c两次退出
安装RabbitMQ

1、配置rabbitmq源

cat > /etc/yum.repos.d/rabbitmq.repo << EOF
[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
EOF

2、安装rabbitmq

yum install rabbitmq-server -y

3、启动RabbitMQ

注意:rabbitmq默认以系统用户rabbitmq身份运行,如果更改节点数据或日志的位置,确保文件权限是rabbitmq(并且还要更新环境变量)

systemctl start rabbitmq-server

4、设置开机自启

systemctl enable rabbitmq-server

5、启用rabbitmq的web控制台

rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@whsir6:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@whsir6...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch

started 3 plugins.

6、刷新文件权限

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

注:rabbitmq默认账号密码为guest,但是guest用户只能通过localhost登录使用,所以我这里建议修改guest用户的密码及新建账号来管理rabbitmq

用户标签

在该版本的rabbitmq中默认有六种标签设置,默认新建的用户标签为none

administrator(超级管理员):无需解释,至高权限
monitoring(监控者):可以查看节点相关信息、内存、集群、统计等情况
policymaker(策略制定者):可以查看,创建和删除策略和参数,无法查看节点信息
management(普通管理者):可以查看队列、交换和绑定,无法查看节点信息,也无法对策略进行管理
impersonator(模拟者):允许应用程序伪造用户ID
none(无):无法访问管理插件

权限控制

rabbitmqctl set_permissions [-p ]

vhost被授予权限的主机
user被授予权限的用户
conf正则匹配用户在哪些资源具有配置权限
write正则匹配用户在哪些资源具有写权限
read正则匹配用户在哪些资源具有读权限

配置用户

添加rabbitmqWeb控制台管理用户(wuhao是你要添加的用户名,thisispw是该用户的密码)

rabbitmqctl add_user wuhao thisispw

查看当前用户列表

rabbitmqctl list_users

用户标签分配,我这里为了演示,将administrator分配给用户wuhao

rabbitmqctl set_user_tags wuhao administrator

设置wuhao用户在主机所有资源上可配置、可写、可读的权限

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

访问http://IP:15672/,用户wuhao,密码thisispw,登录RabbitMQ

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章