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,确保其稳定运行。

相关推荐
更深兼春远13 分钟前
Spark on Yarn安装部署
大数据·分布式·spark
catoop33 分钟前
在 WSL 的 Ubuntu 中安装和配置 SSH 服务
linux·ubuntu·ssh
Hard but lovely1 小时前
linux: centos 软件包管理 yum源
linux·运维·centos
悲伤小伞1 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
安全不再安全1 小时前
免杀技巧 - 早鸟注入详细学习笔记
linux·windows·笔记·学习·测试工具·web安全·网络安全
Mxsoft6192 小时前
电力设备绝缘状态分布式光纤传感实时监测与多维度诊断技术
分布式
Java爱好狂.2 小时前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员
pursue.dreams2 小时前
Ubuntu安装Jenkins完整教程
linux·ubuntu·jenkins
实心儿儿2 小时前
Linux系统 —— 基础命令1
linux·运维·服务器
大龄Python青年2 小时前
C#快入教程:Linux安装.NET
linux·c#·.net