尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
5分钟搞定RabbitMQ专属Erlang环境:零依赖RPM包全攻略
5分钟搞定RabbitMQ专属Erlang环境零依赖RPM包全攻略【免费下载链接】erlang-rpmLatest Erlang/OTP releases packaged as a zero dependency RPM, just enough for running RabbitMQ项目地址: https://gitcode.com/gh_mirrors/er/erlang-rpm你是否在为RabbitMQ部署Erlang环境而烦恼复杂的依赖关系、版本兼容性问题、臃肿的安装包……这些痛点让很多开发者望而却步。今天我要介绍的这个项目——erlang-rpm正是为解决这些问题而生✨这个开源项目专门为RabbitMQ打造了一个零依赖的Erlang RPM包只包含运行RabbitMQ所需的最小Erlang/OTP环境。这意味着你可以轻松地在各种RPM-based发行版上部署RabbitMQ而不用担心依赖地狱 为什么你需要这个项目想象一下这个场景你需要在生产服务器上部署RabbitMQ消息队列但系统自带的Erlang版本太旧手动编译又遇到各种依赖问题。这时候erlang-rpm就像你的救星传统Erlang安装 vs erlang-rpm对比特性传统Erlang安装erlang-rpm依赖复杂度高数十个依赖包零依赖安装时间长编译安装短直接安装RPM磁盘占用大完整Erlang环境小仅RabbitMQ必需组件版本管理复杂多版本冲突简单独立包适用场景通用Erlang开发RabbitMQ专用小贴士这个包专为RabbitMQ优化可能不适用于运行其他基于Erlang的软件或第三方RabbitMQ插件。 快速上手3种安装方式任你选方式一直接下载安装最简单如果你只需要在单台服务器上快速部署直接下载RPM包是最快的方式# 下载最新版本的Erlang RPM包 cd /tmp/ curl -sfL -O https://github.com/rabbitmq/erlang-rpm/releases/download/v26.2.5.3/erlang-26.2.5.3-1.amzn2023.aarch64.rpm # 安装包 sudo dnf install -y ./erlang-26.2.5.3-1.amzn2023.aarch64.rpm方式二配置YUM仓库推荐生产环境对于需要多台服务器部署或频繁更新的场景配置仓库是最佳选择# 在 /etc/yum.repos.d/modern_erlang.repo 中添加 [modern-erlang] namemodern-erlang-el8 baseurlhttps://yum1.rabbitmq.com/erlang/el/8/$basearch https://yum2.rabbitmq.com/erlang/el/8/$basearch repo_gpgcheck1 enabled1 gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key gpgcheck1配置完成后安装就变得超级简单# 更新仓库并安装 sudo dnf update -y sudo dnf install -y erlang方式三从源码构建高级用户如果你需要定制化构建或在不支持的平台上使用项目提供了完整的构建工具链# 克隆项目 git clone https://gitcode.com/gh_mirrors/er/erlang-rpm cd erlang-rpm/docker # 构建Rocky Linux 10的RPM包 ./build-image-and-rpm.sh rocky10 --no-cache构建好的包可以在docker/pkg-build-dir/RPMS/{architecture}/目录找到。 支持的发行版和架构这个项目覆盖了主流的RPM-based发行版支持的发行版RHEL 8.10 及更高版本CentOS Stream 9 和 10Fedora 41 或更高版本Rocky Linux 8.10、9.7、10.0Alma Linux 8.10、9.7、10.0Amazon Linux 2023VMware PhotonOS 5Oracle Linux 9 和 10支持的架构x86-64所有版本都提供aarch64ARM64新版本提供 包含的Erlang应用组件为了保持最小化这个包只包含了运行RabbitMQ必需的组件组件用途asn1ASN.1编译器和运行时compilerErlang编译器crypto加密函数ertsErlang运行时系统kernel核心系统服务mnesia分布式数据库sslSSL/TLS支持stdlib标准库完整的组件列表可以在项目的erlang.spec文件中找到包含了总共17个核心应用。 Docker容器化部署项目还提供了Docker构建支持让你可以在容器中构建RPM包# 查看docker目录下的构建脚本 ls docker/ # Dockerfile.template README.md common.sh # 使用预定义的构建脚本 ./build-image-and-rpm.sh rocky10 --no-cache支持的Docker构建目标rocky10- Rocky Linux 10.xrocky9- Rocky Linux 9.xalma10- Alma Linux 10.xalma9- Alma Linux 9.xal2023- Amazon Linux 2023f41- Fedora 41stream10- CentOS Stream 10stream9- CentOS Stream 9stream8- CentOS Stream 8️ 版本管理和兼容性Erlang版本支持项目主要支持最新的Erlang/OTP版本Erlang/OTP 28.xErlang/OTP 27.xErlang/OTP 26.xRabbitMQ兼容性不同的RabbitMQ版本需要特定的Erlang版本建议参考RabbitMQ官方文档的兼容性矩阵来选择合适的Erlang版本。历史版本管理项目的versions/目录保存了各个历史版本的补丁文件versions/ ├── 18.1/ │ ├── otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch │ └── ... ├── 18.2/ ├── 18.3/ └── ... (其他版本)每个版本目录包含特定的构建补丁确保不同Erlang版本都能正确构建。 最佳实践和注意事项1. OpenSSL依赖这个包不包含OpenSSL你需要单独提供。对于不同系统el9和el10变体需要 OpenSSL 3.xel8变体需要 OpenSSL 1.1.x2. 签名验证所有包都使用RabbitMQ的标准签名密钥签名安装前建议导入# 导入RabbitMQ签名密钥 rpm --import https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc3. 构建环境要求推荐在Fedora 38上进行构建macOS用户需要调整构建脚本的权限设置确保有足够的磁盘空间至少2GB4. 容器构建技巧# 只构建Docker镜像不构建RPM ./build-docker-image.sh rocky10 --no-cache # 在已有镜像中构建RPM ./build-rpm-in-docker.sh rocky10 项目结构深度解析让我们看看项目的核心文件结构erlang-rpm/ ├── docker/ # Docker构建相关文件 │ ├── Dockerfile.template # Docker镜像模板 │ ├── README.md # Docker构建说明 │ └── common.sh # 共享脚本 ├── versions/ # 各版本补丁文件 │ ├── 18.1/ # Erlang 18.1版本补丁 │ ├── 18.2/ # Erlang 18.2版本补丁 │ └── ... # 其他版本 ├── erlang.spec # RPM规范文件 ├── Makefile # 构建脚本 └── *.patch # 通用补丁文件关键文件说明erlang.spec定义了RPM包的元数据和构建规则Makefile提供了本地构建的命令补丁文件修改构建系统不涉及源代码 常见问题解答Q: 这个包能用于其他Erlang应用吗A: 不建议。这个包专门为RabbitMQ优化移除了非必需组件可能缺少其他Erlang应用需要的库。Q: CentOS 7还支持吗A: 自2022年5月起项目已停止支持CentOS 7。最后支持的版本是Erlang 23.3.4.18。Q: 如何验证安装是否成功A: 安装后运行erl -version查看Erlang版本或尝试启动RabbitMQ服务。Q: 遇到构建错误怎么办A: 检查docker/README.md中的故障排除部分或查看项目的issue跟踪器。 生态整合erlang-rpm项目是RabbitMQ生态系统的重要组成部分。它与以下项目紧密集成RabbitMQ Server消息队列核心RabbitMQ管理插件Web管理界面RabbitMQ CLI工具命令行管理工具通过提供标准化的Erlang运行时erlang-rpm确保了RabbitMQ在不同Linux发行版上的一致性和稳定性。 学习资源想要深入了解这里有一些有用的资源官方文档README.md - 项目详细说明构建指南docker/README.md - Docker构建说明贡献指南CONTRIBUTING.md - 如何参与开发许可证信息Erlang_ASL2_LICENSE.txt - Apache 2.0许可证 开始使用吧现在你已经了解了erlang-rpm的所有关键信息。无论你是要在生产环境部署RabbitMQ还是需要为开发环境配置一致的Erlang运行时这个项目都能为你提供简单、可靠的解决方案。记住简单就是美。erlang-rpm通过零依赖设计和最小化打包让RabbitMQ部署变得前所未有的简单。试试看你会爱上这种清爽的安装体验最后提醒项目使用Apache 2.0许可证与Erlang/OTP保持相同的许可证确保商业使用的自由度。【免费下载链接】erlang-rpmLatest Erlang/OTP releases packaged as a zero dependency RPM, just enough for running RabbitMQ项目地址: https://gitcode.com/gh_mirrors/er/erlang-rpm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

总结 san xin 公司

总结 san xin 公司

1.材料汇总:S50C用于板材,(用的多,也是45号钢的一种)绝大部分受力零件(镀硬铬)45#钢用于棒料。(镀硬铬)q235(A3)用于桌面大板 铝6061多用于装饰件(阳极氧化亮白80#&…

📅 2026/7/21 9:43:50
终极摸鱼神器:IntelliJ IDEA中如何优雅地阅读电子书

终极摸鱼神器:IntelliJ IDEA中如何优雅地阅读电子书

终极摸鱼神器:IntelliJ IDEA中如何优雅地阅读电子书 【免费下载链接】thief-book-idea IDEA插件版上班摸鱼看书神器 项目地址: https://gitcode.com/gh_mirrors/th/thief-book-idea 想要在紧张的程序开发工作中寻找片刻的阅读时光吗?Thief-Book插…

📅 2026/9/8 0:47:49
一篇理解“PWM调制占空比技术”(源码)

一篇理解“PWM调制占空比技术”(源码)

一、简介PWM调制占空比技术是我们常用的一种用于调节输出信号平均功率的技术。它通过改变脉冲的宽度来控制输出到负载的能量,而保持脉冲频率恒定或在一定范围内变化,常见用于电机的输出功率控制,音频处理控制等。二、原理假设一个方波周期高电…

📅 2026/7/21 6:09:34
MORE NEWS

更多资讯

📰

Win10下ffmpeg.exe下载安装与配置完整指南

直接进入正题。ffmpeg.exe 这玩意儿,做视频处理的同行应该都不陌生,但每次换电脑、重装系统、或者给同事临时配环境,总能在“下载安装”这一步卡住不少人。标题里写着“已解决”,说明这个问题看着简单,实际坑不少。今天…

📰

软件测试面试:从背题到思维,拆解面试官真正想考什么

每年招聘季都是这个规律:朋友圈里开始有人刷“软件测试面试题合集”,收藏夹里堆满“面试必背100例”,word文档打开七八个,全是从各平台扒下来的题库。有人刷完100道题兴冲冲去面试,结果连一面都没过。为什么&#xff1…

📰

旧Mac升级完整指南:用OpenCore Legacy Patcher让老机器装上新系统

旧Mac升级完整指南:用OpenCore Legacy Patcher让老机器装上新系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 开机三十秒后,屏幕中…

📰

Qwerty Learner 安装与使用指南:免费的英语打字练习与单词记忆工具

Qwerty Learner 安装与使用指南:免费的英语打字练习与单词记忆工具 【免费下载链接】qwerty-learner 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers 项目地址:…

📰

粒子群算法优化FCM聚类:居民用电行为分析与Matlab实现

最近在做一个居民用电行为分析的项目,思路是用粒子群算法优化FCM聚类,再用优化后的聚类模型去给用户画像。整个项目在Matlab里实现,跑通之后效果比传统FCM稳定不少。这篇就把完整方案拆开讲清楚,从算法原理、数据预处理、PSO如何与…

📰

jQuery与Vue3混合开发:大文件秒传与分片上传实战

前阵子接了个老项目升级的活,后台管理系统还是五六年前的jQuery写法,为了长期发展,老板要求整体往vue3迁。但业务不能停,老页面不能一下子推翻重写,最头疼的是一个素材上传模块——用户经常要传几个G的视频、压缩包和设…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬