005 CentOS 7.9 RabbitMQ安装及配置

作者 : admin 本文共6286个字,预计阅读时间需要16分钟 发布时间: 2024-06-16 共1人阅读

https://github.com/rabbitmq/rabbitmq-server/releases
https://www.rabbitmq.com/docs/download
https://packagecloud.io/rabbitmq/rabbitmq-server
https://www.erlang-solutions.com/downloads/

https://www.erlang.org/

文章目录

    • 卸载erl
    • erl版本安装与下载版本不匹配
    • 正式安装配置
    • 下载延时插件

卸载erl

在 CentOS 7.9 上卸载 Erlang 并清除缓存,您可以按照以下步骤操作:

卸载 Erlang
卸载 Erlang 软件包:
打开终端,并使用以下命令卸载 Erlang:

sudo yum remove erlang

如果有其他与 Erlang 相关的软件包,您也可以使用 yum 将其卸载。

卸载 Erlang Solutions 仓库(如果已安装):
如果您之前添加了 Erlang Solutions 仓库,您也可以将其卸载:

sudo yum remove erlang-solutions-repo

清除缓存
在卸载 Erlang 之后,您可能还想要清除 yum 缓存和其他相关缓存。

清除 YUM 缓存:
使用以下命令来清除 yum 缓存:

sudo yum clean all

这个命令会清除所有已下载的包和旧的 headers。

删除缓存的 RPM 文件:
如果您还想删除 /var/cache/yum 目录下缓存的 RPM 文件,可以使用:

sudo rm -rf /var/cache/yum

注意:这将删除所有 yum 缓存的 RPM 包,不仅仅是与 Erlang 相关的。

删除其他可能的 Erlang 遗留文件:
有时,卸载过程可能不会删除所有的配置文件或数据文件。如果您想彻底删除 Erlang 的所有痕迹,可以手动检查并删除这些文件。例如:

sudo find / -name "*erlang*" -type f -delete

警告:这个 find 命令非常强大,并且如果使用不当可能会删除重要文件。请务必谨慎使用,并确保您知道自己在做什么。通常,只删除 /etc/ 和 /var/ 下的 Erlang 配置文件就足够了。

验证卸载
完成上述步骤后,您可以使用以下命令来验证 Erlang 是否已成功卸载:

erl -version

如果 Erlang 已成功卸载,该命令应该会显示一个错误消息,指示 erl 命令未找到。

which erl 
yum list installed | grep erlang
sudo yum remove $(yum list installed | grep erlang | awk '{print $1}')

这个命令的工作原理如下:

yum list installed | grep erlang:列出所有已安装的包,并通过 grep 过滤出包含 “erlang” 的包。
awk ‘{print $1}’:使用 awk 提取每行的第一个字段,即包名。
$(…):命令替换,执行括号内的命令,并将其输出作为外部命令的参数。
sudo yum remove:使用提取出的包名列表作为参数,执行卸载操作。
请注意,在执行此命令之前,请确保理解其将卸载所有与 Erlang 相关的包,并且这可能对依赖 Erlang 的其他软件或服务产生影响。

为了确认 Erlang 是否已经完全卸载,你可以按照以下步骤操作:

检查 Erlang 包是否已安装:
你可以再次运行 yum list installed | grep erlang 来确认是否还有 Erlang 相关的包被安装。
检查 /usr/bin/erl 文件:
既然错误信息提示 /usr/bin/erl 找不到,你可以确认一下这个文件是否真的不存在了,使用 ls /usr/bin/erl 命令查看。
清除 shell 的哈希表:
如果你的 shell 是 bash,运行 hash -r 可以清除已缓存的命令位置,这样当你再次尝试运行 erl 时,shell 会重新搜索 PATH 环境变量中指定的目录来找到该命令。
检查 PATH 环境变量:
确认你的 PATH 环境变量中没有包含指向已卸载 Erlang 的路径。你可以通过 echo $PATH 来查看当前的 PATH 设置。
重启终端或系统:
有时简单地重启你的终端会话或整个系统可以清除任何残留的引用或缓存。
检查其他配置文件:
有时 .bashrc、.bash_profile、.profile 或其他 shell 初始化脚本中可能包含了对 Erlang 的引用。检查这些文件,并删除或注释掉任何与 Erlang 相关的行。
如果你完成了上述步骤,并且确认 Erlang 已经完全从你的系统中移除,但问题仍然存在,那么可能是其他系统配置或第三方软件导致的问题。不过,通常情况下,清除 shell 的哈希表和检查环境变量就可以解决问题。

rpm -ql esl-erlang _25.0.3_1~centos~7_x86_64.rpm | grep erl

ls /usr/lib64/erlang
ls /usr/local/lib/erlang
export ERLANG_HOME=/usr/lib64/erlang  
export PATH=$PATH:$ERLANG_HOME/bin
sudo find / -name "*erlang*"
#这里的 -exec 选项允许你对 find 命令找到的每个文件或目录执行指定的命令。在这个例子中,rm -rf {} 是被执行的命令,其中 {} 是一个占位符,代表 find 命令找到的每个文件或目录的路径。\; 表示 -exec 参数的结束。

sudo find / -name "*erlang*" -exec rm -rf {} \;

确定Shell类型

echo $SHELL

编辑对应的Shell配置文件:
如果使用的是 bash,可以编辑 bash_completion.sh 或创建一个新的 .sh 脚本(例如 erlang.sh)来设置Erlang相关的环境变量。
如果使用的是 csh 或 tcsh,可以编辑 csh.local 或创建一个新的 .csh 脚本。
设置Erlang环境变量:
在选定的脚本文件中,需要添加Erlang的环境变量。例如,如果Erlang安装在 /usr/lib64/erlang,可以添加如下内容:
对于 bash:

export ERLANG_HOME=/usr/lib64/erlang  
export PATH=$PATH:$ERLANG_HOME/bin

对于 csh 或 tcsh:

setenv ERLANG_HOME /usr/lib64/erlang  
set path = ($path $ERLANG_HOME/bin)

使配置生效:
对于 bash,可以通过运行 source /etc/profile.d/脚本名.sh 或重新打开一个终端窗口来使更改生效。
对于 csh 或 tcsh,运行 source /etc/profile.d/脚本名.csh 或重新打开终端。

测试Erlang:
输入 erl 来测试Erlang是否能够正确启动。
请注意,如果Erlang安装在非标准路径下,需要确保该路径是正确的,并将其替换到上述环境变量设置中。

如果不确定Erlang的确切安装位置,可以使用之前提到的 find 命令来搜索 erl 可执行文件的位置,或者使用 rpm -ql 命令来列出Erlang软件包的安装文件,从而确定其安装路径。

此外,如果系统是多用户环境,建议在用户的个人Shell配置文件中设置这些环境变量(如 ~/.bashrc、~/.bash_profile、~/.cshrc 等),以避免影响其他用户的环境。如果您是系统管理员,并且希望为所有用户设置这些环境变量,则可以按照上述步骤在 /etc/profile.d/ 目录下进行操作。

erl版本安装与下载版本不匹配

如果您已经下载了Erlang 26的版本,并且确信安装过程中没有出现问题,但erl -version命令仍然显示Erlang版本为14.2.5,那么可能是以下几个原因导致的:

多个Erlang版本冲突:您的系统中可能安装了多个版本的Erlang,而erl命令可能仍然指向旧版本的Erlang。
环境变量未正确设置:尽管您在.bashrc中添加了Erlang 26的bin目录到PATH环境变量,但这个变更可能没有被正确应用,或者您可能在另一个shell环境中,该环境没有加载新的.bashrc设置。
安装问题:Erlang 26可能没有正确安装,或者安装后的可执行文件没有被放置在预期的目录中。
为了解决这个问题,您可以尝试以下步骤:

确认Erlang 26的安装位置:检查Erlang 26是否确实安装在/usr/tools/erlang目录下。您可以通过ls /usr/tools/erlang命令来确认。
检查PATH环境变量:在终端中输入echo $PATH来检查当前的PATH环境变量。确保/usr/tools/erlang/bin在PATH中的位置优先于旧版本Erlang的路径。
重新加载.bashrc:如果您在.bashrc中做了更改,可以尝试重新加载它,方法是运行source ~/.bashrc或者在新的终端会话中检查。
使用绝对路径运行Erlang:尝试使用Erlang 26的绝对路径来运行erl -version,例如/usr/tools/erlang/bin/erl -version,以确认是否是路径问题。
卸载旧版本的Erlang:如果系统中存在多个Erlang版本,并且您确定不再需要旧版本,可以考虑卸载它,以避免任何混淆。
重新登录或重启:有时候,简单地重新登录您的用户账户或重启系统可以确保所有的环境变量更改生效。

# 查找并删除可能存在的Erlang相关的其他文件和目录  
sudo find / -name "*erlang*" -type d -exec rm -rf {} +

使用软链接:
如果 RabbitMQ 的安装脚本无法识别非标准路径下的 Erlang,您可以尝试在 /usr/bin 或其他在系统 PATH 中的目录下创建指向 /usr/tools/erlang/bin/erl 的软链接。例如:
bash
sudo ln -s /usr/tools/erlang/bin/erl /usr/bin/erl

正式安装配置

  1. 安装 Erlang
    确保移除旧版本的 Erlang(如果有),然后安装最新的符合 RabbitMQ 版本要求的 Erlang:
sudo yum remove erlang
sudo yum install -y epel-release
sudo yum install -y https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
sudo yum install -y erlang
  1. 配置 yum 仓库
    创建 yum 仓库配置文件来确保使用官方仓库:
sudo vi /etc/yum.repos.d/rabbitmq_erlang.repo

添加以下内容:

[rabbitmq_erlang]
name=RabbitMQ Erlang Repository
baseurl=https://packages.erlang-solutions.com/rpm/centos/7/x86_64/
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1

[rabbitmq_rabbitmq-server]
name=RabbitMQ Server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
gpgcheck=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
enabled=1
  1. 清理并更新 yum 缓存
sudo yum clean all
sudo yum makecache
  1. 安装 RabbitMQ
    使用 yum 安装 RabbitMQ:
sudo yum install -y rabbitmq-server
  1. 启动 RabbitMQ 服务并设置开机自启动
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
  1. 配置防火墙
    确保防火墙允许 RabbitMQ 的端口(5672 和 15672):
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --reload
  1. 启用 RabbitMQ 管理插件
    启用 RabbitMQ 管理插件以便通过浏览器进行管理:
sudo rabbitmq-plugins enable rabbitmq_management
  1. 创建管理员用户并配置权限
    创建新的管理员用户,以允许远程访问:
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_user_tags myuser administrator
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
  1. 配置环境变量(可选)
    如果需要配置环境变量,编辑 ~/.bash_profile 或 ~/.bashrc 文件:
export PATH=$PATH:/usr/lib/rabbitmq/bin

然后应用更改:

source ~/.bash_profile
  1. 访问 RabbitMQ 管理界面
    在浏览器中访问 http://:15672/,使用创建的用户 myuser 和 mypassword 登录。

通过这些步骤,你应该能够在 CentOS 7.9 上成功安装并配置 RabbitMQ 最新版本,并且能够远程访问和管理 RabbitMQ 实例。如果在执行上述步骤时遇到问题,请检查每个步骤的执行结果,并确保网络连接正常。

下载延时插件

  1. 下载 RabbitMQ 延迟消息插件
    从 RabbitMQ 的 GitHub 页面下载插件:
    https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.11.4/rabbitmq_delayed_message_exchange-3.11.4.ez
  1. 将插件移动到 RabbitMQ 的插件目录
    将下载的插件文件移动到 RabbitMQ 的插件目录:
sudo mv rabbitmq_delayed_message_exchange-3.11.4.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.12.13/plugins/
  1. 启用插件
    启用 RabbitMQ 延迟消息插件:
sudo rabbitmq-plugins enable rabbitmq_delayed_message_exchange
  1. 重启 RabbitMQ 服务
    重启 RabbitMQ 服务以应用更改:
sudo systemctl restart rabbitmq-server
  1. 验证插件是否启用
    你可以使用以下命令查看启用的插件列表,确保延迟消息插件已启用:
sudo rabbitmq-plugins list
  1. 访问 RabbitMQ 管理界面
    在浏览器中访问 http://:15672/,使用你的管理员用户 myuser 和 mypassword 登录,并验证插件配置。
本站无任何商业行为
个人在线分享 » 005 CentOS 7.9 RabbitMQ安装及配置
E-->