Linux RabbitMQ 安装及卸载

一、安装

1、前景

RabbitMQ是用Erlang编写的,所以需要先安装Erlang的编译环境

注意

Erlang和RabbitMQ的版本是有一些版本匹配关系的,如果不匹配会导致RabbitMQ无法启动

2、安装Erlang

# 下载
wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.3.1-1~centos~7_amd64.rpm

# 安装
yum install esl-erlang_23.3.1-1~centos~7_amd64.rpm

# 如果有更高的版本需要覆盖安装使用这条
rpm -ivh esl-erlang_23.3.1-1~centos~7_amd64.rpm --replacefiles

# 检查是否安装成功
erl -version

3.安装RabbitMQ

# 安装RabbitMQ密钥
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

# 下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-3.8.14-1.el7.noarch.rpm

# 安装
yum install rabbitmq-server-3.8.14-1.el7.noarch.rpm

# 配置Web页面
rabbitmq-plugins enable rabbitmq_management

3.1、配置开机启动

systemctl enable rabbitmq-server.service

4、启动RabbitMQ

# 启动(二选一)
systemctl start rabbitmq-server.service

# 启动(二选一)
/sbin/service rabbitmq-server start

# 查看启动状态
systemctl status rabbitmq-server.service

5、新增用户

# 新增用户 admin为用户名  123456为密码
rabbitmqctl add_user admin 123456

# 设置超管权限
rabbitmqctl set_user_tags admin administrator

# 为username设置权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" 

# 设置完重启服务
systemctl restart rabbitmq-server.service

6、疑难解决

6.1、报错解决

rabbitmq-server.service: main process exited, code=exited, status=1/FAILURE

/var/lib/rabbitmq/mnesia 目录下存在rabbit@localhost.pid、rabbit@localhost、rabbit@localhost-plugins-expand,删除这3项

6.2、报错解决

file /usr/bin/epmd from install of esl-erlang-25.0.3-1.x86_64 conflicts with file from package erlang-erts-24.3.4.1-1.el7.x86_64

该提示为Erlang和RabbitMQ版本不匹配导致

6.3、重启成功无法访问端口

配置阿里云安全组对外开放端口

二、卸载

# 停掉rabbitmq服务
service rabbitmq-server stop

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

# 卸载rabbitmq已安装的相关内容
yum -y remove rabbitmq-server.noarch

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

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

三、RabbitMQ及Erlang版本匹配

相关推荐
荒Huang21 分钟前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
不能再留遗憾了2 小时前
RabbitMQ 高级特性——消息分发
分布式·rabbitmq·ruby
hjjdebug2 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯2 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流2 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布2 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg2 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻2 小时前
Linux:认识文件系统
linux·运维·服务器
会掉头发3 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
我言秋日胜春朝★3 小时前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器