五、Nginx、RabbitMQ和Redis在Linux中的安装和部署
五、Nginx、RabbitMQ和Redis在Linux中的安装和部署
文章目录
- 五、Nginx、RabbitMQ和Redis在Linux中的安装和部署
- 一、Nginx
- 1.Nginx 的作用
- 安装
- 以 CentOS 为例:
- 以 Ubuntu/Debian 为例:
- 启动与开机自启
- 成功示例(反代理80进入tomcat)
- 二、RabbitMQ
- 1. RabbitMQ 的作用
- 2.安装
- 0. 先搞清楚 RabbitMQ 的安装前提
- 1. 环境准备(所有方式共用)
- 2. 用包管理器安装(推荐)
- 2.1 Ubuntu / Debian 系(建议官方仓库方式)
- 2.2 RHEL / CentOS / Rocky / Alma 系
- 3. 启用管理界面
- 4. 重要配置文件位置
- 5. 源码安装(不推荐新手用,但可控版本)
- 6. Docker 快速方式
- 7. 常见问题 & 排查
- 8. 卸载
- Debian/Ubuntu
- RHEL 系
- 三、**Redis**
- 1.Redis的作用
- 2.安装
- 0. 安装方式怎么选
- 1. 环境准备(所有方式共用)
- 2. 用包管理器安装(推荐)
- 2.1 Ubuntu / Debian
- 2.2 RHEL / CentOS / Rocky / Alma
- 3. 源码编译安装(想要指定版本/开启 TLS 时用)
- 3.1 下载与编译
- 3.2 创建运行用户、目录与最小配置
- 3.3 配置 systemd 服务(源码方式必做)
- 4. 基本验证与常用操作
- 4.1 本机连通性
- 4.2 远程访问测试(若放开了对外访问/配置了密码)
- 4.3 常用服务操作
- 5. 必要的系统和网络设置
- 5.1 防火墙(放行 6379)
- 5.2 SELinux(RHEL 系)
- 5.3 内核参数与性能建议(强烈推荐)
- 6. 关键配置项讲清楚(编辑 /etc/redis/redis.conf)
- 7. 常见问题 & 一次性排查清单(按发生概率排序)
- 8. 升级、卸载与清理
- 包管理器
- 源码安装
- 9.(可选)容器快速方式(Docker)
- 10. 最小生产基线(强烈建议)
- 四、三个软件同时安装(与前三部分无关,建议使用finalshell粘贴使用)
- 1️⃣ Ubuntu / Debian 系
- 2️⃣ RHEL / CentOS / Rocky / Alma 系
- 3️⃣ 验证是否安装成功
- 3️⃣ 验证是否安装成功
一、Nginx
1.Nginx 的作用
- 反向代理:把外部请求转发到后端服务(Tomcat、Node.js 等),可以隐藏后端真实地址。
- 负载均衡:把请求分配给多台后端服务器,提高性能和可靠性。
- 静态资源服务:直接高效地提供 HTML/CSS/JS/图片等静态文件。
- HTTPS 支持:配置 SSL/TLS,实现加密访问。
安装
以 CentOS 为例:
yum install -y epel-release
yum install -y nginx
以 Ubuntu/Debian 为例:
apt update
apt install -y nginx
启动与开机自启
systemctl start nginx
systemctl enable nginx
成功示例(反代理80进入tomcat)
二、RabbitMQ
1. RabbitMQ 的作用
RabbitMQ 是一个开源的消息中间件(Message Broker),实现了 AMQP(高级消息队列协议)。它的主要作用是:
- 异步解耦:发送方把消息发送到消息队列,接收方从队列读取,彼此不直接依赖,提高系统灵活性。
- 削峰填谷:应对高并发时,把请求暂存到队列,后台慢慢处理,防止系统崩溃。
- 可靠传输:支持消息持久化、确认机制和重试机制,确保消息不丢失。
- 多协议、多语言支持:不仅支持 AMQP,还支持 MQTT、STOMP 等协议,几乎所有主流语言都有客户端。
- 广播与路由:支持点对点、广播、多路由等多种消息分发模式。
典型应用场景有:订单系统、日志处理、实时通知、分布式任务调度等。
2.安装
0. 先搞清楚 RabbitMQ 的安装前提
- 依赖:RabbitMQ 基于 Erlang/OTP,所以要先安装 Erlang,且版本要与 RabbitMQ 官方支持范围匹配(官方兼容表)。
- 管理方式:建议用
systemd
服务管理。 - 默认端口:
- 5672:AMQP(客户端连接)
- 15672:管理界面(HTTP API / Web UI,需启用插件)
- 25672:节点间通信
- 4369:EPMD(分布式 Erlang 节点发现)
1. 环境准备(所有方式共用)
# 1) root 或 sudo 权限
whoami# 2) 更新软件源
# Ubuntu/Debian
sudo apt update
# RHEL/CentOS/Rocky/Alma
sudo dnf makecache || sudo yum makecache# 3) 基础工具
sudo apt -y install curl gnupg apt-transport-https lsb-release || \
sudo dnf -y install curl gnupg# 4) 防火墙预留(后面也会提)
# ufw(Ubuntu)
sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp
# firewalld(RHEL)
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --reload
2. 用包管理器安装(推荐)
2.1 Ubuntu / Debian 系(建议官方仓库方式)
RabbitMQ 官方提供 apt 仓库,包含匹配的 Erlang 版本。
# 1) 添加 Erlang 与 RabbitMQ 官方签名和仓库
curl -fsSL https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq.gpg
echo "deb [signed-by=/usr/share/keyrings/rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu $(lsb_release -cs) main" \| sudo tee /etc/apt/sources.list.d/rabbitmq.list# 2) 更新并安装
sudo apt update
sudo apt -y install rabbitmq-server# 3) 启动与开机自启
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
systemctl status rabbitmq-server
2.2 RHEL / CentOS / Rocky / Alma 系
官方也提供 yum/dnf 仓库。
# 1) 添加仓库(包含 Erlang 和 RabbitMQ)
sudo tee /etc/yum.repos.d/rabbitmq.repo >/dev/null <<'EOF'
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
EOF# 2) 安装
sudo dnf -y install erlang rabbitmq-server || sudo yum -y install erlang rabbitmq-server# 3) 启动与开机自启
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
systemctl status rabbitmq-server
3. 启用管理界面
RabbitMQ 默认没有开启 Web 管理界面,需要打开插件:
sudo rabbitmq-plugins enable rabbitmq_management
# 15672 端口现在可用
访问 http://<服务器IP>:15672
默认账号:guest
/ guest
(注意:默认只能本机访问!)
要创建一个远程可访问的管理账号:
sudo rabbitmqctl add_user admin StrongPass123
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
4. 重要配置文件位置
/etc/rabbitmq/rabbitmq.conf
(主配置文件)/var/lib/rabbitmq
(数据存储)/var/log/rabbitmq
(日志)
配置示例:
# /etc/rabbitmq/rabbitmq.conf
listeners.tcp.default = 5672
management.tcp.port = 15672
loopback_users.guest = false # 允许 guest 远程访问(不推荐)
default_user = admin
default_pass = StrongPass123
修改后:
sudo systemctl restart rabbitmq-server
5. 源码安装(不推荐新手用,但可控版本)
RabbitMQ 用 Erlang 写的,所以流程是:
- 先装 Erlang(版本匹配)
- 再下载 RabbitMQ
.tar.xz
源码或.deb/.rpm
示例(编译 Erlang 太长,这里略,建议直接用包管理器装 Erlang):
# 假设 Erlang 已装好
curl -LO https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.0/rabbitmq-server-generic-unix-3.13.0.tar.xz
tar xf rabbitmq-server-generic-unix-3.13.0.tar.xz
mv rabbitmq_server-3.13.0 /opt/rabbitmq
启动:
/opt/rabbitmq/sbin/rabbitmq-server -detached
(生产环境还是用包管理器方便管理服务)
6. Docker 快速方式
docker run -d --name my-rabbit \-p 5672:5672 \-p 15672:15672 \-e RABBITMQ_DEFAULT_USER=admin \-e RABBITMQ_DEFAULT_PASS=StrongPass123 \rabbitmq:3-management
然后访问 http://localhost:15672
。
7. 常见问题 & 排查
-
服务起不来
- Erlang 版本与 RabbitMQ 不匹配 → 检查
rabbitmqctl status
日志。 - 数据目录权限不对 →
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
- 配置错误 → 注释掉新加配置重启。
- Erlang 版本与 RabbitMQ 不匹配 → 检查
-
管理界面无法访问
- 插件未启用:
rabbitmq-plugins enable rabbitmq_management
- 防火墙/云安全组没放 15672
- guest 账号限制:默认只能本机访问,需新建账号。
- 插件未启用:
-
端口冲突
- 5672 被其他服务占用 → 修改配置中的
listeners.tcp.default
- 5672 被其他服务占用 → 修改配置中的
-
连接超时
- 防火墙没开 5672
- 云服务器安全组没放行
-
密码忘了
bash复制编辑 sudo rabbitmqctl change_password admin NewPass123
-
数据损坏
- 停止服务 → 备份
/var/lib/rabbitmq
→ 清空目录 → 重启(会丢数据)
- 停止服务 → 备份
8. 卸载
Debian/Ubuntu
sudo systemctl stop rabbitmq-server
sudo apt -y remove --purge rabbitmq-server erlang*
sudo rm -rf /var/lib/rabbitmq /etc/rabbitmq /var/log/rabbitmq
RHEL 系
sudo systemctl stop rabbitmq-server
sudo dnf -y remove rabbitmq-server erlang || sudo yum -y remove rabbitmq-server erlang
sudo rm -rf /var/lib/rabbitmq /etc/rabbitmq /var/log/rabbitmq
三、Redis
1.Redis的作用
Redis是一个基于内存、高性能、支持多种数据结构的 Key-Value NoSQL 数据库。
它主要作用是提供快速数据存取,常用于缓存、实时计算、消息队列等场景。
核心特性:
- 内存存储,读写速度极快(微秒级延迟)
- 多种数据结构:字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)、位图(Bitmap)、HyperLogLog、Stream 等
- 持久化:支持 RDB(快照)、AOF(追加日志)等方式,将内存数据保存到磁盘
- 分布式支持:主从复制(Replication)、哨兵(Sentinel)、集群(Cluster)
- 原子操作:单命令天然原子性,支持事务(MULTI/EXEC)
2.安装
0. 安装方式怎么选
- 包管理器(推荐):最省心,自动创建服务。Ubuntu/Debian 用
apt
,RHEL/CentOS/Rocky/Alma 用dnf/yum
。 - 源码编译(可控):想要指定版本或启用 TLS/最新特性,用它。
- 容器(补充):快速试用或隔离环境。本文最后简单给出。
1. 环境准备(所有方式共用)
# 1) 用 root 或具备 sudo 权限的用户
whoami# 2) 同步软件包索引
# Debian/Ubuntu
sudo apt update
# RHEL/CentOS/Rocky/Alma
sudo dnf makecache || sudo yum makecache# 3) 基础工具(源码编译才需要:gcc、make 等)
# Debian/Ubuntu
sudo apt -y install build-essential curl tar
# RHEL/CentOS/Rocky/Alma
sudo dnf -y install gcc make tar curl || sudo yum -y install gcc make tar curl# 4) 确认 6379 端口未被占用
sudo ss -lntp | grep 6379 || echo "6379 目前无占用"
2. 用包管理器安装(推荐)
2.1 Ubuntu / Debian
# 安装
sudo apt -y install redis-server# 设置为 systemd 管理(默认已配置)
# 开机自启
sudo systemctl enable redis-server# 启动
sudo systemctl start redis-server# 查看状态与日志
systemctl status redis-server
sudo journalctl -u redis-server -e
配置文件路径:/etc/redis/redis.conf
数据目录:/var/lib/redis/
日志(如配置了文件):/var/log/redis/redis-server.log
(可能默认走 systemd 日志)
2.2 RHEL / CentOS / Rocky / Alma
某些发行版自带版本较旧,推荐启用 EPEL/Remi(需要外网或已配置镜像)。如果内网或没法加仓库,可直接走源码安装(见第 3 部分)。
方式 A:直接安装(仓库有包时)
sudo dnf -y install redis || sudo yum -y install redissudo systemctl enable redis
sudo systemctl start redis
systemctl status redis
sudo journalctl -u redis -e
常见路径:
- 配置:
/etc/redis.conf
或/etc/redis/redis.conf
- 数据:
/var/lib/redis/
- 服务名:
redis
(有的包叫redis
,有的redis@6379
)
3. 源码编译安装(想要指定版本/开启 TLS 时用)
3.1 下载与编译
# 指定版本(示例:7.2.5;你可改为任意官方发布版)
REDIS_VER=7.2.5
cd /usr/local/src
sudo curl -fSLo redis-$REDIS_VER.tar.gz https://download.redis.io/releases/redis-$REDIS_VER.tar.gz
sudo tar xf redis-$REDIS_VER.tar.gz
cd redis-$REDIS_VER# 可选:启用 TLS 支持(需要 OpenSSL 头文件)
# Debian/Ubuntu: sudo apt -y install libssl-dev
# RHEL 系: sudo dnf -y install openssl-devel || sudo yum -y install openssl-devel
# 编译
make -j"$(nproc)" BUILD_TLS=yes
# (不需要 TLS 就去掉 BUILD_TLS=yes)# 安装可执行文件
sudo make install
# 安装后会有:redis-server, redis-cli, redis-benchmark 等(默认 /usr/local/bin)
3.2 创建运行用户、目录与最小配置
# 创建用户和目录
sudo useradd -r -s /sbin/nologin redis || true
sudo mkdir -p /etc/redis /var/lib/redis /var/log/redis
sudo chown -R redis:redis /var/lib/redis /var/log/redis# 生成一份基础配置
sudo tee /etc/redis/redis.conf >/dev/null <<'EOF'
bind 127.0.0.1
protected-mode yes
port 6379
daemonize no
supervised systemd
dir /var/lib/redis
logfile ""
save 900 1
save 300 10
save 60 10000
# 如需持久化更稳:启用 AOF(体积大、写入更频繁)
# appendonly yes# 如需对外访问,注释上面的 bind 或添加你的服务器IP,例如:
# bind 0.0.0.0# 如需密码(强烈建议生产环境设置):
# requirepass 你的强密码# 内存策略(示例:最大 2GB,淘汰策略 LFU)
# maxmemory 2gb
# maxmemory-policy allkeys-lfu
EOF
sudo chown redis:redis /etc/redis/redis.conf
3.3 配置 systemd 服务(源码方式必做)
sudo tee /etc/systemd/system/redis.service >/dev/null <<'EOF'
[Unit]
Description=Redis In-Memory Data Store
After=network-online.target
Wants=network-online.target[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf --daemonize no
ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown
Restart=on-failure
Type=simple
TimeoutStartSec=60
TimeoutStopSec=60
# 文件句柄数
LimitNOFILE=100000
# 确保数据目录存在
RuntimeDirectory=redis
RuntimeDirectoryMode=0755[Install]
WantedBy=multi-user.target
EOFsudo systemctl daemon-reload
sudo systemctl enable redis
sudo systemctl start redis
systemctl status redis
4. 基本验证与常用操作
4.1 本机连通性
redis-cli ping
# PONG
redis-cli set hello world
redis-cli get hello
4.2 远程访问测试(若放开了对外访问/配置了密码)
# 无密码
redis-cli -h <服务器IP> -p 6379 ping
# 有密码
redis-cli -h <服务器IP> -p 6379 -a '<你的密码>' ping
4.3 常用服务操作
# 查看状态/日志
systemctl status redis* # 或 redis-server
sudo journalctl -u redis -e # 发行版不同,服务名可能是 redis-server# 停止/重启
sudo systemctl restart redis
sudo systemctl stop redis
5. 必要的系统和网络设置
5.1 防火墙(放行 6379)
# firewalld(RHEL 系)
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --reload# ufw(Ubuntu)
sudo ufw allow 6379/tcp
sudo ufw status
5.2 SELinux(RHEL 系)
临时放宽(只为验证,不推荐长期)
getenforce
# 如果是 Enforcing,并且你确认要对外开放 6379 进行测试:
sudo setenforce 0
# 永久修改(重启生效)
# /etc/selinux/config 中将 SELINUX=enforcing 改为 permissive 或 disabled
5.3 内核参数与性能建议(强烈推荐)
Redis 常见告警与优化:
# 1) 提高 listen backlog
echo "net.core.somaxconn = 1024" | sudo tee /etc/sysctl.d/99-redis.conf# 2) fork 场景避免快照失败
echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.d/99-redis.conf# 3) 关闭透明大页(THP)——需要重启或临时操作
# 临时(直到重启)
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
# 永久:在 /etc/default/grub 的 GRUB_CMDLINE_LINUX 增加
# transparent_hugepage=never
# 并执行 sudo update-grub(或 grub2-mkconfig)后重启# 应用 sysctl 变更
sudo sysctl --system
6. 关键配置项讲清楚(编辑 /etc/redis/redis.conf)
- bind:默认
127.0.0.1
只允许本机访问。对外开放改为0.0.0.0
或加上服务器内网/公网 IP。 - protected-mode:
yes
时若无密码且非本机连接会拒绝;对外服务时要么开密码要么调整为no
(不推荐)。 - requirepass:设置访问密码(生产必配)。
- port:默认
6379
,可改。 - supervised:使用 systemd 必须设为
systemd
,否则服务可能起不来(PID 管理不一致)。 - daemonize:由 systemd 托管时应
no
。 - dir:RDB/AOF 数据目录,需要 redis 用户可写。
- logfile:留空表示走 systemd 日志;写路径要保证目录存在且可写。
- save:快照触发规则(RDB)。
- appendonly yes:开启 AOF(更可靠,磁盘写入更多;与 RDB 可并存)。
- maxmemory & maxmemory-policy:限制内存与淘汰策略(如
allkeys-lfu
)。 - tcp-keepalive:连接保活(默认 300 秒)。
- io-threads:只对读有效,且需
io-threads-do-reads yes
;一般默认足够。
修改后:
sudo systemctl restart redis
sudo journalctl -u redis -e
7. 常见问题 & 一次性排查清单(按发生概率排序)
- 服务起不来 / 一直失败
-
supervised
未设为systemd
,而 systemd 在管进程 → 改配置重启。 -
logfile
、dir
路径不存在或权限不对 →chown -R redis:redis /var/lib/redis /var/log/redis
。 -
配置里
daemonize yes
与 systemd 冲突 → 设为no
。 -
bind 127.0.0.1
+protected-mode yes
,你却从远端连 → 放开 IP 或先在本机验证。2.端口不监听 / 外网连不上
-
ss -lntp | grep 6379
看是否监听在正确 IP 上。 -
防火墙未放行 → 放行 6379。
-
SELinux 拦截 → 临时
setenforce 0
验证。 -
宿主机与云安全组(如云厂商防火墙)未放行 → 在控制台放行 6379。
-
容器或内网环境 NAT 端口未映射 → 检查端口转发。
3.启动日志告警
-
WARNING overcommit_memory is set to 0!
→ 设vm.overcommit_memory = 1
并sysctl --system
。 -
WARNING you have Transparent Huge Pages (THP) enabled
→ 关闭 THP(见 5.3)。 -
TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to 128
→ 提升somaxconn
(见 5.3)。4.持久化失败 / 停写
-
MISCONF Redis is configured to save RDB snapshots...
或磁盘满 → 清理空间;临时可CONFIG SET stop-writes-on-bgsave-error no
(不建议长期)。 -
Background saving terminated by signal 9
(fork 失败/内存不足)→ 提升可用内存、关闭 THP、设overcommit_memory=1
。5.权限问题
-
Permission denied
写不进数据目录/日志目录 → 确保目录属主是redis:redis
且可写。6.认证相关
-
ERR Client sent AUTH, but no password is set
→ 你用了-a
但服务端没设requirepass
;要么去掉-a
,要么在配置里设密码。7.内存达到上限
-
OOM command not allowed when used memory > 'maxmemory'
→ 提高maxmemory
或设置合适淘汰策略(如allkeys-lfu
)。8.GPG/仓库问题(安装阶段)
-
NO_PUBKEY
/ 仓库不可达 → 换镜像源、更新密钥、或直接走源码安装规避。
8. 升级、卸载与清理
包管理器
# 升级
# Debian/Ubuntu
sudo apt -y install --only-upgrade redis-server
# RHEL 系
sudo dnf -y upgrade redis || sudo yum -y update redis# 卸载(保留配置与数据)
sudo systemctl stop redis redis-server 2>/dev/null || true
sudo apt -y remove redis-server || sudo dnf -y remove redis || sudo yum -y remove redis# 完全清理(包含配置和数据,谨慎!)
sudo apt -y purge redis* && sudo rm -rf /var/lib/redis /etc/redis
源码安装
# 停止与禁用服务
sudo systemctl stop redis
sudo systemctl disable redis
sudo rm -f /etc/systemd/system/redis.service
sudo systemctl daemon-reload# 删除可执行文件与目录(谨慎)
sudo rm -f /usr/local/bin/redis-*
sudo rm -rf /etc/redis /var/lib/redis /var/log/redis
sudo userdel redis 2>/dev/null || true
9.(可选)容器快速方式(Docker)
# 暴露 6379,持久化到宿主 /opt/redis
sudo mkdir -p /opt/redis
docker run -d --name my-redis \-p 6379:6379 \-v /opt/redis:/data \redis:latest \redis-server --appendonly yes
# 连接
redis-cli -h 127.0.0.1 -p 6379 ping
生产环境请用 compose/编排、限制内存、配置密码与网络策略。
10. 最小生产基线(强烈建议)
- 仅监听内网或通过防火墙限制来源;
- 设置
requirepass
强口令; - 持久化:开启 AOF 或 RDB+定期备份;
- 设置
maxmemory
与合理淘汰策略; - 应用 5.3 的内核优化(
somaxconn
、overcommit_memory
、关闭 THP); - 监控:
INFO
,latency doctor
, 导出到 Prometheus/Grafana(可后续加)。
四、三个软件同时安装(与前三部分无关,建议使用finalshell粘贴使用)
1️⃣ Ubuntu / Debian 系
# 更新系统
sudo apt update -y && sudo apt upgrade -y# 安装 Nginx
sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx# 安装 Redis
sudo apt install -y redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server# 安装 RabbitMQ(官方仓库)
sudo apt install -y curl gnupg apt-transport-https
curl -fsSL https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq.gpg
echo "deb [signed-by=/usr/share/keyrings/rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu $(lsb_release -cs) main" \| sudo tee /etc/apt/sources.list.d/rabbitmq.list
sudo apt update -y
sudo apt install -y rabbitmq-server
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server# 启用 RabbitMQ 管理界面
sudo rabbitmq-plugins enable rabbitmq_management
2️⃣ RHEL / CentOS / Rocky / Alma 系
# 更新系统
sudo dnf -y update || sudo yum -y update# 安装 Nginx
sudo dnf -y install nginx || sudo yum -y install nginx
sudo systemctl enable nginx
sudo systemctl start nginx# 安装 Redis
sudo dnf -y install redis || sudo yum -y install redis
sudo systemctl enable redis
sudo systemctl start redis# 安装 RabbitMQ(官方仓库)
sudo tee /etc/yum.repos.d/rabbitmq.repo >/dev/null <<'EOF'
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
EOFsudo dnf -y install erlang rabbitmq-server || sudo yum -y install erlang rabbitmq-server
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server# 启用 RabbitMQ 管理界面
sudo rabbitmq-plugins enable rabbitmq_management
3️⃣ 验证是否安装成功
# Nginx
curl -I http://127.0.0.1# Redis
redis-cli ping# RabbitMQ 管理界面(访问浏览器)
# http://服务器IP:15672
# 默认账号 guest / guest(仅本机可访问,远程需创建新账号)
epos.d/rabbitmq.repo >/dev/null <<'EOF'
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
EOFsudo dnf -y install erlang rabbitmq-server || sudo yum -y install erlang rabbitmq-server
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server# 启用 RabbitMQ 管理界面
sudo rabbitmq-plugins enable rabbitmq_management
3️⃣ 验证是否安装成功
# Nginx
curl -I http://127.0.0.1# Redis
redis-cli ping# RabbitMQ 管理界面(访问浏览器)
# http://服务器IP:15672
# 默认账号 guest / guest(仅本机可访问,远程需创建新账号)