CentOS8安装RabbitMQ 3.8.9

目录

一:RabbitMQ简介

1: 在搭建RabbitMQ之前实现要介绍一下MQ,MQ是什么?

二:RabbitMQ环境版本

1: 环境准备

2: JDK1.8安装

3: 安装RabbitMQ依赖包

 4: 安装Erlang

5: 安装Socat

6: 安装RabbitMQ

7: 启动RabbitMQ 

8: Web插件安装

9: 配置用户远程 

 10: 修改默认配置文件路径

11: 重启RabbitMQ 

12: 开放防火墙端口

13: 访问管理页面

 14: 创建管理用户

3 RabbitMQ常用命令


一:RabbitMQ简介

1: 在搭建RabbitMQ之前实现要介绍一下MQ,MQ是什么?

MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递

RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务,用Erlang语言的

RabbitMQ有成千上万的用户,是最受欢迎的开源消息代理之一。从T-Mobile到Runtastic,RabbitMQ在全球范围内的小型初创企业和大型企业中都得到使用

RabbitMQ轻巧,易于在内部和云中部署。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足大规模,高可用性的要求

RabbitMQ可在许多操作系统和云环境上运行,并为大多数流行语言提供了广泛的开发人员工具

二:RabbitMQ环境版本

1: 环境准备

RabbitMQ是由Erlang语言开发,所以MQ安装时必须要安装对应支持版本的Erlang,版本具体对应可以参照 https://www.rabbitmq.com

本文使用:

jdkerlangrabbitmq
1.823.13.8.9

2: JDK1.8安装

请参照 之前的文章(https://blog.csdn.net/qq_39706515/article/details/119712354

3: 安装RabbitMQ依赖包

yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf

 4: 安装Erlang

RabbitMQ和Erlang / OTP兼容性列表

下表提供了当前支持的RabbitMQ版本系列的Erlang兼容性列表。对于已到期的RabbitMQ版本,请参阅不支持的系列兼容性列表。

RabbitMQ版本最低要求的Erlang / OTP最大支持的Erlang / OTP笔记
3.8.922.323.xErlang / OTP 23兼容性说明推荐使用Erlang 23.xErlang 22.x不再支持HiPE

开始安装:

下载源文件:

wget http://erlang.org/download/otp_src_23.1.tar.gz

 

 下载速度感人。。。建议使用迅雷下载到本地,然后上传到linux服务器,方法就不说了!

解压:

tar -zxvf otp_src_23.1.tar.gz

 移动到/usr/local/(个人习惯)

 mv otp_src_23.1 /usr/local/

进入otp_src_23.1,安装

cd otp_src_23.1

./otp_build autoconf

./configure && make && make install

安装成功!输入 erl  显示 版本号

 

5: 安装Socat

yum install -y socat

6: 安装RabbitMQ

rpm -Uvh https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el7.noarch.rpm --nodeps

 同样是遇到网络很慢的问题,建议使用迅雷下载rpm包,上传到Linux服务器

执行命令是:

rpm -Uvh rabbitmq-server-3.8.9-1.el7.noarch.rpm --nodeps

如果遇到erlang已安装且版本正确,但是RabbitMQ检测失败的情况
可以追加参数 —nodeps (不验证软件包依赖)

7: 启动RabbitMQ 

启用Rabbit MQ服务

systemctl enable rabbitmq-server

启动Rabbit MQ服务

systemctl start rabbitmq-server

查看服务状态

systemctl status rabbitmq-server

停止服务

systemctl stop rabbitmq-server

重启服务

systemctl restart rabbitmq-server

8: Web插件安装

rabbitmq-plugins enable rabbitmq_management

9: 配置用户远程 

vi /etc/rabbitmq/rabbitmq.config
[
{loopback_users, []}
].

 10: 修改默认配置文件路径

rabbitmq默认数据目录和日志路径

默认数据目录     /var/lib/rabbitmq/mnesia

日志路径            /var/log/rabbitmq/

配置文件路径    /etc/rabbitmq/

创建新的数据文件和日志文件目录并给权限

mkdir -p /usr/local/rabbitmq/log

mkdir -p /usr/local/rabbitmq/mnesia

chmod -R 755 /usr/local/rabbitmq

chown -R rabbitmq:rabbitmq /usr/local/rabbitmq

创建或者新增环境参数配置文件

vim /etc/rabbitmq/rabbitmq-env.conf

填进去

RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/data/rabbitmq/log

11: 重启RabbitMQ 

systemctl restart rabbitmq-server

12: 开放防火墙端口

####firewalld防火墙
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload

####iptables防火墙
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
systemctl restart iptables

13: 访问管理页面

地址:http://IP:15672

账号和密码默认都是guest

14: 创建管理用户

添加用户(用户admin,密码admin)

rabbitmqctl add_user admin admin

设置用户角色(admin为管理员)
rabbitmqctl set_user_tags admin administrator

 设置用户权限(接受来自所有Host的所有操作) 

rabbitmqctl  set_permissions -p "/" admin '.*' '.*' '.*'

查看用户权限
rabbitmqctl list_user_permissions admin

然后使用 admin 管理员用户登录web管理页面

用户和密码是上面添加设置的  admin admin 

3: RabbitMQ常用命令

# 添加用户
rabbitmqctl add_user <username> <password>  

# 删除用户
rabbitmqctl delete_user <username>  

# 修改用户密码
rabbitmqctl change_password <username> <newpassword>  

# 清除用户密码(该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证)
rabbitmqctl clear_password <username> 

# 设置用户tags(相当于角色,包含administrator,monitoring,policymaker,management)
rabbitmqctl set_user_tags <username> <tag>

# 列出所有用户
rabbitmqctl list_users  

# 创建一个vhosts
rabbitmqctl add_vhost <vhostpath>  

# 删除一个vhosts
rabbitmqctl delete_vhost <vhostpath>  

# 列出vhosts
rabbitmqctl list_vhosts [<vhostinfoitem> ...]  

# 针对一个vhosts给用户赋予相关权限;
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>  

# 清除一个用户对vhosts的权限;
rabbitmqctl clear_permissions [-p <vhostpath>] <username>  

# 列出哪些用户可以访问该vhosts;
rabbitmqctl list_permissions [-p <vhostpath>]   

# 列出用户访问权限;
rabbitmqctl list_user_permissions <username>

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wcybaonier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值