一、安装包说明
你准备的离线包:
- OTP-25.3.2.tar.gz:Erlang 源码包(RabbitMQ 依赖 Erlang 环境)
- rabbitmq-server-generic-unix-3.12.14.tar.xz:Linux 通用版 RabbitMQ 服务端压缩包
gcc-dep文件夹下所有.rpm:编译 Erlang 需要的 GCC、openssl、make 等依赖离线 RPM 包
安装顺序:先装系统依赖RPM → 源码编译安装Erlang → 解压部署RabbitMQ
二、离线包传输到目标离线服务器
- 在目标 CentOS7.9 服务器创建安装目录
bash
mkdir -p /usr/local/rabbitmq
- 将下面3部分文件上传到服务器
/usr/local/rabbitmq目录
- gcc-dep 整个文件夹
- OTP-25.3.2.tar.gz
- rabbitmq-server-generic-unix-3.12.14.tar.xz
三、步骤1:离线安装所有编译依赖(gcc-dep下全部RPM)
1. 进入依赖目录
bash
cd /usr/local/rabbitmq/gcc-dep
2. 离线批量安装所有rpm包(解决依赖顺序问题)
bash
rpm -ivh *.rpm --nodeps --force
3. 验证核心依赖是否安装成功
bash
gcc -v
make -v
openssl version
输出版本信息即代表依赖安装正常。
四、步骤2:源码编译安装 Erlang OTP 25.3.2
1. 解压 Erlang 源码包
bash
cd /usr/local/rabbitmq
tar -zxvf OTP-25.3.2.tar.gz
cd OTP-25.3.2
2. 配置编译参数(CentOS7 标准配置)
bash
./configure --prefix=/usr/local/erlang25 --with-ssl --enable-shared --enable-threads --enable-smp-support --enable-kernel-poll
执行完没有 error 报错即可,必须确保
openssl相关检测通过
3. 编译+安装(耗时5~15分钟,服务器配置越低越慢)
bash
make && make install
4. 配置Erlang系统环境变量
bash
vi /etc/profile
在文件最末尾添加:
bash
# Erlang Environment
export PATH=$PATH:/usr/local/erlang25/bin
5. 生效环境变量并验证
bash
source /etc/profile
erl -version
输出版本 25.3.2 代表 Erlang 安装成功。
五、步骤3:离线部署 RabbitMQ 3.12.14
1. 解压 RabbitMQ 压缩包
bash
cd /usr/local/rabbitmq
tar -xf rabbitmq-server-generic-unix-3.12.14.tar.xz
# 重命名方便管理
mv rabbitmq_server-3.12.14 /usr/local/rabbitmq/rabbitmq312
2. 配置 RabbitMQ 环境变量
bash
vi /etc/profile
末尾追加:
bash
# RabbitMQ Environment
export PATH=$PATH:/usr/local/rabbitmq/rabbitmq312/sbin
生效配置:
bash
source /etc/profile
3. 安装管理后台插件(网页控制台)
bash
rabbitmq-plugins enable rabbitmq_management
六、RabbitMQ 启停、开机自启、管理员配置
1. 常用启停命令
bash
# 后台启动
rabbitmq-server -detached
# 查看状态
rabbitmqctl status
# 停止服务
rabbitmqctl stop
# 查看启动成功的方式
ps -ef | grep beam.smp
netstat -lntp | grep 5672
ss -lntp | grep 15672
2. 创建管理员账号(禁止用默认guest,仅本地可登录)
bash
# 1. 创建管理员用户
rabbitmqctl add_user admin Admin@123456
# 2. 设置超级管理员权限
rabbitmqctl set_user_tags admin administrator
# 3. 赋予虚拟主机全部权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
3. 防火墙放行15672(管理页面)、5672(消息端口)
bash
# 放行端口
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent
# 重载防火墙
firewall-cmd --reload
4. 设置开机自启(推荐)
- 写入启动文件
bash
echo "/usr/local/rabbitmq/rabbitmq312/sbin/rabbitmq-server -detached" >> /etc/rc.local
chmod +x /etc/rc.local
七、访问管理后台
浏览器访问:
http://服务器IP:15672
用户名:admin
密码:Admin@123456
八、常见离线踩坑解决方案
- rpm安装提示依赖冲突
命令加上--nodeps --force强制安装即可,你已经提前收集全套依赖不会缺失。 - Erlang configure报错缺少ssl
检查openssl-devel开头的两个rpm是否已经安装。 - guest账号外网无法登录
必须新建管理员账号admin,默认guest只允许本机127.0.0.1访问。 - 15672端口访问不通
确认防火墙放行,云服务器还要去安全组开放端口。