目录
- 一、环境准备
- 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
https://www.rabbitmq.com/which-erlang.html
【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
这几天蓝奏云上传不了,过段时间在上传。
el6:CentOS 6.x 的下载
el7:CentOS 7.x 的下载
el8:CentOS 8.x 的下载。包括 Red Hat 8,modern Fedora 版本。
将在 Windows 或 Mac 下载好的安装包传输到 Linux 中。
首先在 Linux 的 /usr/local
目录下创建一个文件夹 rabbitmq
。请根据需求自定义路径
mkdir -p /usr/local/rabbitmq
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%]
安装完成后输入指令查看到版本号,代表成功
Ctrl+C退出
在 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
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
,但是登录该账号密码会出现权限问题
默认的账号密码仅限于本机 localhost 进行访问,所以需要添加一个远程登录的用户
# 创建账号和密码
rabbitmqctl add_user 用户名 密码
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
# set_permissions [-p ]
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
角色有四种:
administrator
:可以登录控制台、查看所有信息、并对rabbitmq进行管理monToring
:监控者;登录控制台,查看所有信息policymaker
:策略制定者;登录控制台指定策略managment
:普通管理员;登录控制创建完成后,访问服务器公网ip:15672
进行登录,然后便可进入到后台
其他指令:
# 修改密码
rabbitmqctl change_ password 用户名 新密码
# 删除用户
rabbitmqctl delete_user 用户名
# 查看用户清单
rabbitmqctl list_users
移除以前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
#最新的 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
运行结果
systemctl stop rabbitmq-server #卸载前先停止rabbitmq服务
yum list | grep rabbitmq #查看rabbitmq安装的相关列表
yum -y remove rabbitmq-server.noarch #卸载rabbitmq-server.noarch
yum list | grep erlang #查看erlang安装的相关列表
yum -y remove erlang-* #卸载erlang已安装的相关内容
rm -rf /usr/lib64/erlang
rm -rf /var/lib/rabbitmq
rm -rf /usr/local/erlang
rm -rf /usr/local/rabbitmq
这里列举几种清空RabbitMQ队列的方案
rabbitmqctl purge_queue queue001
该方式能删除所有ready的消息,对于unacked消息无法删除。如果需要删除unacked消息,需要将该队列上的所有消费者停止,unacked消息会自动变为ready消息,此时通过purge_queue命令可以删除。
删除:
rabbitmqctl delete_queue queue01
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
注意此方式,会同时清除一些配置信息,需要慎用。