RabbitMQ 在 CentOS 8 上的曲折安装之旅:从坑中爬起,终成高手!
引言
安装 RabbitMQ 是一项开发者常见但可能充满挑战的任务,尤其是在 CentOS 8 上,当版本兼容性、路径管理和服务配置混杂在一起时,可能会令人抓狂。但在这篇技术博客中,我将分享我的“坎坷” RabbitMQ 安装之旅,并提供实战经验和实用技巧,帮助您顺利穿越这个迷宫。无论您是新手还是资深工程师,希望这篇文章都能给您一些启发和帮助。
1. 安装前的准备:路径管理与依赖关系的挑战
Erlang 是 RabbitMQ 的基础依赖,选择与 RabbitMQ 版本兼容的 Erlang 版本是成功的第一步。这里有一些关键点:
- 兼容性问题:RabbitMQ 对 Erlang 的版本有严格要求。官方发布说明通常会列出兼容版本,但我的建议是尽量使用最新的
Erlang 和 RabbitMQ 版本,以减少兼容性问题。 - 安装前清理:务必确保您的系统环境干净,特别是在已经有其他版本的 Erlang 或 RabbitMQ 残留时。使用以下命令来彻底清理:
sudo dnf remove -y erlang rabbitmq-server
sudo rm -rf /usr/lib/erlang /usr/lib64/erlang
2. 安装 Erlang:版本选择与路径管理
2.1. 下载并安装 Erlang:从 Erlang Solutions 网站获取最新的 RPM 包并安装:
wget https://binaries2.erlang-solutions.com/rockylinux/esl-erlang-26/esl-erlang_26.2.4_1~centos~8_x86_64.rpm
sudo rpm -Uvh esl-erlang_26.2.4_1~centos~8_x86_64.rpm
2.2 确认安装路径:使用 rpm -ql esl-erlang 来列出安装文件,确保 Erlang 安装在 /usr/lib64/erlang,并更新环境变量:
export PATH=/usr/lib64/erlang/bin:$PATH
source ~/.bashrc
重要提示:erl -version 可能不会正确显示版本,建议通过 /usr/lib64/erlang/bin/erl version 确认版本信息。
3. 安装 RabbitMQ:从仓库到配置
3.1 添加 RabbitMQ 仓库并安装:
sudo dnf install -y epel-release
sudo dnf install -y https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/8/rabbitmq-server-3.13.7-1.el8.noarch.rpm
3.2 启动并启用 RabbitMQ 服务:
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
sudo systemctl status rabbitmq-server
4. 启用管理插件:让管理更简单
RabbitMQ 提供了强大的 Web 管理界面,通过启用 rabbitmq_management 插件来访问:
sudo rabbitmq-plugins enable rabbitmq_management
sudo systemctl restart rabbitmq-server
访问管理界面:打开浏览器并访问 http://:15672。如果遇到访问问题,请继续阅读。
5. 防火墙与网络设置:开放端口,畅通无阻
如果您无法访问管理界面,可能是防火墙阻止了连接。以下是配置防火墙的方法:
5.1 启动并配置 Firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
5.2 开放必要端口:
sudo firewall-cmd --permanent --add-port=15672/tcp
sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --reload
5.3 验证端口是否开放:
sudo firewall-cmd --list-all
6. 解决远程登录限制:创建新用户
RabbitMQ 默认不允许 guest 用户从远程访问。解决方案是创建一个新用户并赋予权限:
6.1 创建新用户:
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_user_tags myuser administrator
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
6.2 使用新用户登录:在管理界面中使用 myuser 和 mypassword 登录。
7. 最佳实践与常见问题
• 检查端口监听:使用 sudo ss -tln | grep 15672 确认 RabbitMQ 是否监听端口。
• 重启系统:有时,环境变量和路径配置需要重启系统才能生效:
sudo reboot
• 日志分析:如果遇到问题,查看 /var/log/rabbitmq 目录下的日志文件,可以帮助您排查问题。
总结
RabbitMQ 的安装在 CentOS 8 上可能充满挑战,但通过清晰的步骤和详细的排查,您可以顺利完成配置。关键是理解路径管理、依赖关系和网络设置。希望这篇博客能为您提供实用的技巧和专业见解,让您在未来轻松应对类似的挑战。
祝您在使用 RabbitMQ 的路上顺风顺水!如果有更多问题或见解,欢迎在评论区分享!