在银河麒麟v10 sp2及以上aarch64系统安装rabbitmq,须严格匹配arm64包、erlang版本与openssl 1.0.x库,离线环境需提前安装compat-openssl10、libnsl、socat等隐性依赖,否则启动报missing_dependencies;确认uname -m输出aarch64、/etc/kylin-release版本≥sp2,再依次安装基础依赖、erlang(验证ssl:start()成功)、rabbitmq,启用management插件并配置admin用户与15672端口。

在银河麒麟操作系统(V10 SP2及以上,aarch64架构)上安装并配置RabbitMQ,需绕过x86惯性思维,严格匹配ARM64专用包、Erlang版本与系统级OpenSSL 1.0.x库;离线环境更要求提前补全libcrypto.so.10、libnsl.so.1等隐性依赖,否则服务启动时直接报错missing_dependencies。
确认系统架构与基础环境
执行uname -m,输出必须为【aarch64】,若为x86_64或i386则所有后续ARM包均不可用;执行cat /etc/kylin-release确认版本不低于V10 SP2,SP1及更早版本缺少socat等关键组件支持。
检查gcc版本:gcc --version,低于4.8.5需先升级,否则Erlang编译失败;内存不足4GB时,源码编译Erlang会卡在otp_build阶段,建议临时关闭GUI进程释放内存。
安装核心依赖项
方法一:在线安装(推荐有网络且源可用)
运行yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel;其中【openssl-devel必须对应OpenSSL 1.0.x】,若系统默认启用1.1.x,则需从麒麟NS源手动下载compat-openssl10包并强制安装。
方法二:离线补全隐性依赖(必做)
从https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/base/aarch64/Packages/下载以下RPM并按顺序安装:compat-openssl10-1.0.2o-8.ky10.aarch64.rpm→libnsl-2.28-98.p04.ky10.aarch64.rpm→socat-1.7.3.2-8.p01.ky10.aarch64.rpm;【socat未安装会导致RabbitMQ 3.7+服务无法注册systemd单元】。
安装Erlang运行时
第一步:访问https://packagecloud.io/rabbitmq/erlang,筛选aarch64架构、el7或el8后缀的RPM包,版本须严格落在RabbitMQ目标版本的官方支持区间内(例如RabbitMQ 3.9.5需Erlang 23.3.x)。
第二步:执行rpm -ivh erlang-23.3.1-1.ky10.aarch64.rpm;若报错Failed dependencies: libcrypto.so.10,说明前序compat-openssl10未装或路径未生效,此时不能跳过,必须返回上一步补全。
RabbitMQ 4.2.3 是 2026 年初发布的重要稳定更新版本,重点修复了 Khepri 元数据存储相关问题,并改进了监控性能。对于使用 Docker、Kubernetes 或微服务架构的开发团队来说,该版本兼容性和稳定性表现较好。
第三步:验证SSL支持:erl -eval 'io:fwrite("~p~n", [ssl:start()]).' -s init stop,输出ok才表示Erlang真正可调用加密模块。
安装并启用RabbitMQ服务
下载对应noarch RPM包(如rabbitmq-server-3.9.5-1.el7.noarch.rpm),执行rpm -ivh rabbitmq-server-*.rpm;安装过程无提示即成功,若有conflicts with file from package错误,需加--force --nodeps参数强制覆盖——但仅限离线紧急场景,线上环境应先rpm -e清理旧残留。
启动服务:sudo systemctl start rabbitmq-server.service;立即检查状态:sudo systemctl status rabbitmq-server,若显示active (running)且日志无missing_dependencies字样,说明核心服务已就绪。
配置Web管理界面与用户权限
启用管理插件:sudo rabbitmq-plugins enable rabbitmq_management;该命令需在服务运行状态下执行,否则报错Connection refused。
创建管理员账户:sudo rabbitmqctl add_user admin YourPass123→sudo rabbitmqctl set_user_tags admin administrator→sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*";【密码必须含大小写字母+数字+特殊字符,否则Web登录页提交时静默失败】。
开放防火墙端口:sudo firewall-cmd --permanent --add-port=15672/tcp→sudo firewall-cmd --reload;此时可通过https://服务器IP:15672访问管理界面,使用admin/YourPass123登录。










