RabbitMQ Linux 安装教程详解

RabbitMQ Linux 安装教程详解

在 Linux 系统上安装 RabbitMQ 并确保其稳定运行,对于构建可靠的分布式消息系统至关重要。本文将详细介绍如何在 Linux 系统上安装 RabbitMQ,并提供关键的注意事项,帮助您避免常见的坑点,确保安装过程顺利。

一、环境准备

  1. 确认系统版本 :确保您的 Linux 系统为 CentOS 7 或 Ubuntu 18.04 及以上版本。

  2. 更新系统包 :执行以下命令更新系统包:

    • 在 CentOS 上:sudo yum update
    • 在 Ubuntu 上:sudo apt-get update
  3. 安装依赖工具 :安装一些必要的工具和库:

    • 在 CentOS 上:sudo yum install -y wget curl
    • 在 Ubuntu 上:sudo apt-get install -y wget curl

二、安装 Erlang

RabbitMQ 基于 Erlang 语言开发,因此需要先安装 Erlang。

(一)在 CentOS 上安装 Erlang

  1. 添加 Erlang Solutions 仓库
bash 复制代码
sudo wget https://packages.erlang-solutions.com/erlang Solutions/signing-key.pub
sudo rpm -import signing-key.pub
sudo wget https://packages.erlang-solutions.com/erlang-solutions-epel-2.el7.noarch.rpm
sudo rpm -Uvh erlang-solutions-epel-2.el7.noarch.rpm
  1. 安装 Erlang
bash 复制代码
sudo yum install -y esl-erlang

(二)在 Ubuntu 上安装 Erlang

  1. 添加 Erlang Solutions 仓库
bash 复制代码
sudo curl -fsSL https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo gpg --dearmor -o /usr/share/keyrings/erlang-solutions-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/erlang-solutions-archive-keyring.gpg] https://packages.erlang-solutions.com/ubuntu $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/erlang-solutions.list
sudo apt-get update
  1. 安装 Erlang
bash 复制代码
sudo apt-get install -y esl-erlang

三、安装 RabbitMQ

(一)在 CentOS 上安装 RabbitMQ

  1. 添加 RabbitMQ 仓库
bash 复制代码
sudo wget https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sudo rpm --import rabbitmq-release-signing-key.asc
sudo wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.16/rabbitmq-server-3.11.16-1.el8.x86_64.rpm
sudo rpm -ivh rabbitmq-server-3.11.16-1.el8.x86_64.rpm
  1. 安装 RabbitMQ
bash 复制代码
sudo yum install -y rabbitmq-server

(二)在 Ubuntu 上安装 RabbitMQ

  1. 添加 RabbitMQ 仓库
bash 复制代码
sudo apt-get install -y apt-transport-https
sudo curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/rabbitmq-archive-keyring.gpg] https://dl.bintray.com/rabbitmq-gh/rabbitmq-server/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
sudo apt-get update
  1. 安装 RabbitMQ
bash 复制代码
sudo apt-get install -y rabbitmq-server

四、配置 RabbitMQ 服务

  1. 启动 RabbitMQ 服务
bash 复制代码
sudo systemctl start rabbitmq-server
  1. 设置开机自启
bash 复制代码
sudo systemctl enable rabbitmq-server
  1. 查看服务状态
bash 复制代码
sudo systemctl status rabbitmq-server

五、启用管理插件

  1. 启用管理插件
bash 复制代码
sudo rabbitmq-plugins enable rabbitmq_management
  1. 开放防火墙端口
bash 复制代码
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
sudo firewall-cmd --reload

六、创建用户及配置权限

  1. 创建用户
bash 复制代码
sudo rabbitmqctl add_user admin admin123
  1. 设置用户标签
bash 复制代码
sudo rabbitmqctl set_user_tags admin administrator
  1. 配置用户权限
bash 复制代码
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

七、访问管理界面

打开浏览器,输入 http://<服务器 IP 地址>:15672 访问 RabbitMQ 的管理界面,使用刚才创建的 "admin" 用户登录。

八、注意事项

  1. 端口占用问题 :若启动 RabbitMQ 时报错 "ERROR: distribution port 25672 in use by rabbit@localhost",可使用以下命令查找并停止占用端口的进程:
bash 复制代码
sudo ss -tulnp | grep 25672
sudo kill -9 <进程 ID>
  1. 依赖库问题 :若安装 Erlang 时报错 "No curses library functions found",需安装 ncurses-devel 库:
bash 复制代码
sudo yum install ncurses-devel
  1. 防火墙设置 :确保防火墙允许访问 RabbitMQ 的相关端口(15672 和 5672)。

  2. 用户权限 :创建新用户并分配适当权限,避免使用默认的 guest 用户进行远程访问。

九、总结

通过以上步骤,您可以在 Linux 系统上成功安装并配置 RabbitMQ,并采取相应的注意事项来避免常见问题。希望本文对您有所帮助,如果您在安装过程中遇到任何问题,欢迎随时联系。

以上内容为您提供了一个简洁且详细的 RabbitMQ 安装教程,帮助您在 Linux 系统上顺利完成安装并配置 RabbitMQ,确保其稳定运行。

相关推荐
Bruce_Liuxiaowei4 分钟前
Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器
linux·运维·网络·windows·安全
yt948328 分钟前
C#实现CAN通讯接口
java·linux·前端
linux修理工25 分钟前
n1 armbian 安装桌面环境并启用xrdp远程登录
linux·服务器·数据库
花小璇学linux42 分钟前
imx6ull-裸机学习实验1——汇编LED灯实验
linux·汇编·imx6ull·arm裸机开发
Brookty1 小时前
【操作系统】进程(二)内存管理、通信
java·linux·服务器·网络·学习·java-ee·操作系统
sanggou5 小时前
Linux批量执行工具脚本使用指南:一键运行多个release-dev.sh脚本
linux·bash
Jay Kay5 小时前
TensorFlow内核剖析:分布式TensorFlow架构解析与实战指南
分布式·架构·tensorflow
亿牛云爬虫专家7 小时前
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
分布式·python·架构·kubernetes·爬虫代理·监测·采集
牧以南歌〆9 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
夜月yeyue10 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件