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

相关推荐
SoFlu软件机器人2 小时前
秒级构建消息驱动架构:描述事件流程,生成 Spring Cloud Stream+RabbitMQ 代码
分布式·架构·rabbitmq
一只小bit2 小时前
Linux网络:阿里云轻量级应用服务器配置防火墙模板开放端口
linux·网络·阿里云
smileNicky2 小时前
RabbitMQ消息确认机制有几个confirm?
分布式·rabbitmq
周某某~2 小时前
RabbitMQ概念与管理端配置说明
rabbitmq·rabbitmq管理端页面
嘉琪0013 小时前
实现视频实时马赛克
linux·前端·javascript
帽儿山的枪手3 小时前
HVV期间,如何使用SSH隧道绕过内外网隔离限制?
linux·网络协议·安全
邹诗钰-电子信息工程4 小时前
嵌入式基础知识复习(C语言)
linux·c语言·vim
瀚高PG实验室5 小时前
CentOS 8 安装HGDB V4.5 psql命令执行报错
linux·运维·centos·瀚高数据库
小醉你真好5 小时前
6、CentOS 9 安装 Docker
linux·docker·centos
平生不喜凡桃李6 小时前
Linux 线程概念与控制
java·linux·运维