安装 Erlang
https://www.rabbitmq.com/which-erlang.html
在安装 RabbitMQ 之前,您必须安装支持的
Erlang/OTP 版本
。标准的 Red Hat、Fedora、CentOS 存储库提供的 Erlang 版本通常已过时 ,无法用于运行最新的 RabbitMQ 版本。
在基于 RPM 的发行版上,现代 Erlang 有三个替代源:
- RabbitMQ 团队生成了一个精简的包,仅提供运行 RabbitMQ 所需的那些组件。这是推荐的选项。
- openSUSE 为 openSUSE Leap 生成Erlang 包
- Erlang Solutions 生成的软件包通常是最新的并且涉及安装可能过多的依赖项列表
使用 RabbitMQ 团队提供的 零依赖 Erlang 安装包
可以从 GitHub
以及 Cloudsmith.io
和 PackageCloud
上的 Yum 存储库直接下载 RabbitMQ 的零依赖 Erlang RPM 包。
这是一个(几乎)零依赖的 Erlang RPM 包,它提供的刚好足以运行 RabbitMQ。它可能适合也可能不适合运行其他基于 Erlang 的软件或第 3 方 RabbitMQ 插件。
也就是说,该包剥离了一些对于运行 RabbitMQ 不是必需的 Erlang 模块和依赖项。
支持的基于 RPM 的发行版
此软件包的二进制构建针对基于现代 RPM 的发行版:
- RHEL 8.4 或更新的版本
- CentOS Stream 8
- CentOS Stream 9
- Rocky Linux 8.5 或更新的版本
- Fedora 34 或更新的版本
- Amazon Linux 2023
- Oracle Linux 9
- Alma Linux 9
CentOS 7 及其衍生产品呢 ?
旧版本(直到Erlang 23.3.4.11)包括 CentOS 7 和基于 CentOS 7 的发行版(即 Amazon Linux 2)和 OpenSSL 1.0 的构建。
https://github.com/rabbitmq/erlang-rpm/releases/tag/v23.3.4.11
yum install erlang-23.3.4.11-1.el7.x86_64.rpm
这个包有一个隐式的 OpenSSL/libcrypto 依赖(见下文)。从 Erlang 24 开始,最低要求的版本相当于 OpenSSL 是 1.1,仅由 Fedora、Rocky Linux、CentOS Stream 8 和 CentOS Stream 9 提供。
基于 Debian 的发行版呢 ?
RabbitMQ 团队还为 Debian 打包了最新的 Erlang/OTP 版本 ,为 Ubuntu 打包了一个现代的 Erlang PPA。
使用 openSUSE 提供的 Erlang 安装包
openSUSE 软件包存储库提供 Erlang,因此可以使用 Zypper 安装:
sudo zypper in erlang
标准存储库中可用的 Erlang 版本实际上将落后于最新版本。要使用具有最新功能的最新版本,要为 Erlang 添加 openSUSE Factory 存储库:
# add the openSUSE erlang factory, obs:// extracts the http url for the matching distro.
sudo zypper ar -f obs://devel:languages:erlang:Factory openSUSE-Erlang-Factory
# import the signing key and refresh the repository
sudo zypper --gpg-auto-import-keys refresh
# install a recent Erlang version
sudo zypper in erlang
使用 Erlang Solutions 源进行安装
# 下载rpm包
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
# 从erlang-solutions中更新该包,并将erlang_solutions.repo添加到/etc/yum.repos.d
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
# 安装
yum install erlang
----------------------------------------------------------------
该包还需依赖到epel源,请确保已有该源,若没有则可通过以下方式安装:
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist # 查看安装是否成功
由于Erlang Solutions会进行不断地更新,且RabbitMQ对Erlang的版本有一定的要求(官方版本要求对应表)。所以官方建议我们禁止Erlang版本的自动更新。方法如下:参考如何禁止某个软件包的自动升级
# 安装yum-versionlock
yum install yum-plugin-versionlock
# 禁止Erlang自动更新
yum versionlock erlang
注:默认情况下,yum似乎是不会自动更新软件的,除非安装了yum-cron这个软件或者自己写了某些自动更新脚本。如果是前者的话,我们也可以 cd /etc/yum 目录下,将yum-cron.conf中的download_updates = yes 改为 no。
最后编辑:Jeebiz 更新时间:2024-11-01 10:06