RabbitMQ安装教程(超鸡细)

目录

    • 一、环境准备
      • 1.1、RabbitMQ版本 和 Erlang 版本兼容性关系
      • 1.2、官方安装包下载地址
      • 1.3、安装包中说明,请下载对应的安装包
    • 二、安装操作步骤
      • 2.1 、传输
      • 2.2、安装Erlang
      • 2.3、安装RabbitMQ
      • 2.4、启动
    • 三、管理界面及授权操作
    • 四、Docker安装RabbitMQ
      • Docker安装RabbitMQ
    • 五、卸载
      • 5.1、卸载rabbitmq相关文件
      • 5.2、卸载erlang
      • 5.3、删除有关的所有文件
    • 六、RabbitMQ清空队列的几种方式

个人主页:Crayon Lin
博客描述:梦想也许遥不可及,但重要的是追梦的过程。
少年莫狂,天外有天!

一、环境准备

我的环境是 CentOS 7.9

ssh、sftp的工具是 Tabby Terminal

erlang-23.2.4-1.el7.x86_64.rpm

rabbitmq-server-3.8.30-1.el7.noarch.rpm

1.1、RabbitMQ版本 和 Erlang 版本兼容性关系

https://www.rabbitmq.com/which-erlang.html

1.2、官方安装包下载地址

【erlang下载地址】:https://packagecloud.io/rabbitmq/erlang/

【rabbitmq下载地址】:https://github.com/rabbitmq/rabbitmq-server/releases

也可以直接下载我的 链接:https://pan.baidu.com/s/1_2wibxHzWkpmjn9wiAXr_w?pwd=1234 提取码:1234

这几天蓝奏云上传不了,过段时间在上传。

1.3、安装包中说明,请下载对应的安装包

el6:CentOS 6.x 的下载
el7:CentOS 7.x 的下载
el8:CentOS 8.x 的下载。包括 Red Hat 8,modern Fedora 版本。

二、安装操作步骤

2.1 、传输

将在 Windows 或 Mac 下载好的安装包传输到 Linux 中。

首先在 Linux 的 /usr/local 目录下创建一个文件夹 rabbitmq。请根据需求自定义路径

mkdir -p  /usr/local/rabbitmq

RabbitMQ安装教程(超鸡细)_第1张图片

RabbitMQ安装教程(超鸡细)_第2张图片

2.2、安装Erlang

i 代表 install

vh 代表显示安装进度过程

rpm -ivh erlang-23.2.4-1.el7.x86_64.rpm 
[root@localhost rabbitmq]# rpm -ivh erlang-23.2.4-1.el7.x86_64.rpm 
警告:erlang-23.2.4-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-23.2.4-1.el7              ################################# [100%]

安装完成后输入指令查看到版本号,代表成功

RabbitMQ安装教程(超鸡细)_第3张图片

Ctrl+C退出

2.3、安装RabbitMQ

RabiitMQ 安装过程中需要依赖 socat 插件,首先安装该插件

yum install socat -y		#要有网络

解压 RabbitMQ 安装包

 rpm -ivh rabbitmq-server-3.8.30-1.el7.noarch.rpm 

结果:

[root@localhost rabbitmq]# rpm -ivh rabbitmq-server-3.8.30-1.el7.noarch.rpm 
警告:rabbitmq-server-3.8.30-1.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:rabbitmq-server-3.8.30-1.el7     ################################# [100%]

检查是否安装成功命令

rpm -qa|grep rabbitmq

2.4、启动

systemctl start rabbitmq-server		# 启动服务

systemctl status rabbitmq-server	# 查看服务状态

systemctl enable rabbitmq-server	# 开机自启动

systemctl stop rabbitmq-server		# 停止服务

systemctl restart rabbitmq-server	# 重启服务

三、管理界面及授权操作

默认端口

RabbitMQ 的默认访问端口是 15672

如果 Linux 有防火墙,记得开放 15672 端口,否则 Windows 无法访问

默认情况下,RabbiMQ 没有安装 Web 端的客户端软件,需要安装才可以生效

防火墙配置查看:::firewall

rabbitmq-plugins enable rabbitmq_management		#安装 Web 端的客户端

结果:
Enabling plugins on node rabbit@localhost:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@localhost...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
started 3 plugins.

安装完毕以后,重启服务

systemctl restart rabbitmq-server

通过 http://ip:15672 访问,ip 为 Linux 的 ip。有防火墙的防火墙要放行。rabbitmq 有一个默认的账号密码 guest,但是登录该账号密码会出现权限问题

RabbitMQ安装教程(超鸡细)_第4张图片

默认的账号密码仅限于本机 localhost 进行访问,所以需要添加一个远程登录的用户

# 创建账号和密码
rabbitmqctl add_user 用户名 密码

# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色

# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
# set_permissions [-p ]    
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

角色有四种

  • administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
  • monToring:监控者;登录控制台,查看所有信息
  • policymaker:策略制定者;登录控制台指定策略
  • managment:普通管理员;登录控制

RabbitMQ安装教程(超鸡细)_第5张图片

创建完成后,访问服务器公网ip:15672进行登录,然后便可进入到后台

RabbitMQ安装教程(超鸡细)_第6张图片

其他指令:

# 修改密码
rabbitmqctl change_ password 用户名 新密码

# 删除用户
rabbitmqctl delete_user 用户名

# 查看用户清单
rabbitmqctl list_users

四、Docker安装RabbitMQ

移除以前docker相关包

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

配置yum源

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

启动

systemctl enable docker --now

配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://5cn52dc7.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker安装RabbitMQ

#最新的 RabbitMQ 3.10
docker run -dit  --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.10-management

#也可以用的的镜像   --------- d是后台启动 it是交互模式启动 p是端口映射
docker run -dit  --name rabbitmq -p 5672:5672 -p 15672:15672  linshengqian/rabbitmq:3.10-management

运行结果

image-20221023131419917

五、卸载

5.1、卸载rabbitmq相关文件

systemctl stop rabbitmq-server  #卸载前先停止rabbitmq服务

yum list | grep rabbitmq		#查看rabbitmq安装的相关列表

yum -y remove rabbitmq-server.noarch  #卸载rabbitmq-server.noarch

5.2、卸载erlang

yum list | grep erlang 		#查看erlang安装的相关列表

yum -y remove erlang-*		#卸载erlang已安装的相关内容

5.3、删除有关的所有文件

rm -rf /usr/lib64/erlang 
rm -rf /var/lib/rabbitmq
rm -rf /usr/local/erlang
rm -rf /usr/local/rabbitmq

六、RabbitMQ清空队列的几种方式

这里列举几种清空RabbitMQ队列的方案

  • purge
rabbitmqctl purge_queue queue001

该方式能删除所有ready的消息,对于unacked消息无法删除。如果需要删除unacked消息,需要将该队列上的所有消费者停止,unacked消息会自动变为ready消息,此时通过purge_queue命令可以删除。

  • delete删除队列,然后重建

删除:

rabbitmqctl delete_queue queue01
  • reset
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

注意此方式,会同时清除一些配置信息,需要慎用。

  • 消费到消息,自动或手动ack

你可能感兴趣的:(rabbitmq,linux,分布式)