您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux系统中如何安装RabbitMQ
## 目录
1. [RabbitMQ简介](#1-rabbitmq简介)
2. [安装前准备](#2-安装前准备)
3. [通过包管理器安装](#3-通过包管理器安装)
- [3.1 Ubuntu/Debian](#31-ubuntudebian)
- [3.2 CentOS/RHEL](#32-centosrhel)
4. [通过Docker安装](#4-通过docker安装)
5. [源码编译安装](#5-源码编译安装)
6. [基本配置与优化](#6-基本配置与优化)
7. [用户管理与权限设置](#7-用户管理与权限设置)
8. [防火墙配置](#8-防火墙配置)
9. [常见问题解决](#9-常见问题解决)
10. [总结](#10-总结)
---
## 1. RabbitMQ简介
RabbitMQ是一个开源的消息代理和队列服务器,基于AMQP(高级消息队列协议)实现。它具有以下特点:
- 支持多种消息协议
- 集群部署能力强
- 跨平台支持
- 提供管理界面
- 丰富的插件系统
典型应用场景包括:
- 应用解耦
- 异步处理
- 流量削峰
- 日志处理
## 2. 安装前准备
### 系统要求
- 推荐Linux发行版:Ubuntu 18.04+/CentOS 7+
- 内存:至少1GB(生产环境建议4GB+)
- 磁盘空间:至少500MB
### 依赖安装
```bash
# 通用依赖
sudo apt-get update # Ubuntu/Debian
sudo yum update # CentOS/RHEL
# Erlang安装(RabbitMQ依赖)
sudo apt-get install -y erlang # Ubuntu/Debian
sudo yum install -y erlang # CentOS/RHEL
sudo apt-get install -y curl gnupg
curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -
echo "deb https://dl.bintray.com/rabbitmq-erlang/debian focal erlang" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
sudo apt-get update
sudo apt-get install -y rabbitmq-server
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
sudo systemctl status rabbitmq-server
sudo yum install -y epel-release
sudo yum install -y socat logrotate
sudo yum install -y rabbitmq-server-3.8.9
sudo setsebool -P nis_enabled 1
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
docker run -d --hostname my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
docker volume create rabbitmq-data
docker run -d \
--hostname my-rabbit \
--name rabbitmq \
-v rabbitmq-data:/var/lib/rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
rabbitmq:3-management
docker run -d \
--hostname my-rabbit \
--name rabbitmq \
-v /path/to/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf \
-p 5672:5672 \
-p 15672:15672 \
rabbitmq:3-management
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-generic-unix-3.8.9.tar.xz
tar -xf rabbitmq-server-generic-unix-3.8.9.tar.xz
sudo mv rabbitmq_server-3.8.9 /opt/rabbitmq
echo 'export PATH=$PATH:/opt/rabbitmq/sbin' >> ~/.bashrc
source ~/.bashrc
rabbitmq-server -detached
/etc/rabbitmq/rabbitmq.conf
/etc/rabbitmq/rabbitmq-env.conf
# 监听端口
listeners.tcp.default = 5672
# 内存阈值
vm_memory_high_watermark.absolute = 2GB
# 磁盘空间阈值
disk_free_limit.absolute = 5GB
# 日志设置
log.dir = /var/log/rabbitmq
log.file = rabbit.log
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
rabbitmqctl add_user appuser AppPassword
rabbitmqctl set_permissions -p / appuser "^app-.*" ".*" ".*"
rabbitmqctl list_users
# AMQP协议端口
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
# 管理界面端口
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 集群通信端口
sudo firewall-cmd --zone=public --add-port=4369/tcp --permanent
sudo firewall-cmd --zone=public --add-port=25672/tcp --permanent
# 重新加载防火墙
sudo firewall-cmd --reload
症状:启动失败,端口被占用
解决:
# 查找占用进程
sudo netstat -tulnp | grep 5672
# 修改RabbitMQ配置
echo "RABBITMQ_NODE_PORT=5673" >> /etc/rabbitmq/rabbitmq-env.conf
症状:服务自动停止
解决:
# 临时调整阈值
rabbitmqctl set_disk_free_limit 1GB
# 永久配置
echo "disk_free_limit.absolute = 2GB" >> /etc/rabbitmq/rabbitmq.conf
检查步骤: 1. 确认插件已启用 2. 检查防火墙设置 3. 查看服务日志:
tail -f /var/log/rabbitmq/rabbit@$(hostname).log
本文详细介绍了在Linux系统上安装RabbitMQ的多种方法: 1. 通过系统包管理器安装(推荐新手) 2. 使用Docker容器部署(适合快速测试) 3. 源码编译安装(适合定制需求)
关键注意事项: - 确保Erlang版本兼容 - 生产环境务必配置访问控制 - 定期监控资源使用情况 - 重要数据配置持久化
扩展建议:
- 学习RabbitMQ集群配置
- 研究消息确认机制
- 探索常用插件如rabbitmq_shovel
通过以上步骤,您应该已经成功搭建了RabbitMQ服务。接下来可以开始开发基于消息队列的应用程序了! “`
注:实际字符数约为2500字(含代码块和格式标记)。如需精确控制字数,可适当增减配置示例或问题解决部分的详细说明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。