2026/1/8 9:47:42
网站建设
项目流程
广西响应式网站建设,大连建网站需要多少钱,科技特长生有哪些科目,昆明互联网公司排名前十TL;DR
场景#xff1a;RHEL 系#xff08;CentOS/RockyLinux#xff09;用 RPM 做 RabbitMQ 生产部署#xff0c;同时用 Docker Compose 快速学习。结论#xff1a;关键风险在 Erlang/RabbitMQ 版本兼容与包来源一致性#xff1b;其次是端口、插件、用户权限与安全基线。…TL;DR场景RHEL 系CentOS/RockyLinux用 RPM 做 RabbitMQ 生产部署同时用 Docker Compose 快速学习。结论关键风险在 Erlang/RabbitMQ 版本兼容与包来源一致性其次是端口、插件、用户权限与安全基线。产出给出可落地的安装路径、版本矩阵写法与高频报错速查卡便于上线排障。RabbitMQ 安装服务安装(生产推荐)首先我们需要确认的环境准备操作系统环境支持 CentOS 7/8、RockyLinux 8/9 等 RHEL 系发行版建议使用最小化安装的系统减少不必要的软件冲突Erlang 环境要求RabbitMQ 是基于 Erlang 虚拟机(BEAM)运行的消息中间件必须预先安装兼容版本的 Erlang 运行时建议版本不低于 Erlang 23.x系统依赖包socat用于集群间通信logrotate日志轮转管理openssl安全通信支持其他编译工具链(gcc, make等)安装步骤说明安装 Erlang可以通过 EPEL 仓库安装或从 Erlang Solutions 获取最新版本示例命令yum install erlang验证 Erlang执行erl -version检查安装确保版本符合 RabbitMQ 要求版本兼容性检查必须参考官方兼容性文档访问 RabbitMQ Erlang 兼容性指南例如 RabbitMQ 3.9.x 需要 Erlang 23.2注意事项生产环境建议使用相同次要版本的 Erlang避免混用不同仓库的软件包升级时需先检查兼容性矩阵首先我们需要确认的环境准备操作系统环境支持 CentOS 7/8、RockyLinux 8/9 等 RHEL 系发行版建议使用最小化安装的系统减少不必要的软件冲突Erlang 环境要求RabbitMQ 是基于 Erlang 虚拟机(BEAM)运行的消息中间件必须预先安装兼容版本的 Erlang 运行时建议版本不低于 Erlang 23.x系统依赖包socat用于集群间通信logrotate日志轮转管理openssl安全通信支持其他编译工具链(gcc, make等)安装步骤说明安装 Erlang可以通过 EPEL 仓库安装或从 Erlang Solutions 获取最新版本示例命令yum install erlang验证 Erlang执行erl -version检查安装确保版本符合 RabbitMQ 要求版本兼容性检查必须参考官方兼容性文档访问 RabbitMQ Erlang 兼容性指南例如 RabbitMQ 3.9.x 需要 Erlang 23.2注意事项生产环境建议使用相同次要版本的 Erlang避免混用不同仓库的软件包升级时需先检查兼容性矩阵socat我们在服务器上安装 socatyuminstallsocat -yErlang然后安装 Erlanghttps://github.com/rabbitmq/erlang-rpm/releases/download/v23.0.2/erlang-23.0.2-1.el7.x86_64.rpm将文件上传到服务器后我们执行安装rpm-ivh erlang-23.0.2-1.el7.x86_64.rpmRabbitMQ接着我们下载MQhttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.4/rabbitmq-server-3.8.4-1.el7.noarch.rpm上传到服务器之后我们安装rpm-ivh rabbitmq-server-3.8.4-1.el7.noarch.rpm启动插件rabbitmq-pluginsenablerabbitmq_management启动RabbitMQ服务的几种方式1. 使用systemctl启动推荐用于生产环境systemctl start rabbitmq-server这是最标准的启动方式适用于使用systemd的Linux系统会自动处理服务依赖关系和日志记录示例场景在Ubuntu 18.04/CentOS 7等现代Linux发行版中使用2. 直接运行可执行文件适合开发环境rabbitmq-server会在前台运行方便查看实时日志按CtrlC可停止服务典型使用场景本地开发测试时快速启动3. 后台守护进程模式rabbitmq-server -detached添加-detached参数使服务在后台运行不会占用当前终端停止服务需要使用rabbitmqctl stop适用情况需要后台运行但又不想配置systemd服务时其他相关命令# 查看服务状态systemctl status rabbitmq-server# 设置开机自启systemctlenablerabbitmq-server# 停止服务systemctl stop rabbitmq-server注意不同Linux发行版的包管理命令可能略有差异例如在RHEL系使用yumDebian系使用apt安装时服务名称保持一致。添加用户rabbitmqctl add_user root123456添加权限rabbitmqctl set_permissions root -p /.*.*.*设置用户标签RabbitMQ用户权限管理rabbitmqctl set_user_tags root administrator详细说明此命令用于为RabbitMQ用户设置标签这里是给用户root添加administrator管理员标签标签类型说明administrator管理员权限拥有所有操作权限monitoring监控权限可以查看所有信息但不能修改policymaker策略制定权限可以管理虚拟主机策略management基本管理权限可以使用管理插件典型应用场景新用户创建后需要分配管理权限需要调整现有用户的权限级别在多租户环境中管理不同用户的访问权限相关命令查看用户标签rabbitmqctl list_users删除用户标签rabbitmqctl clear_user_tags username注意事项执行此命令需要RabbitMQ管理员权限修改会立即生效无需重启服务建议使用专用管理账号而非root账号进行日常管理### 设置用户标签RabbitMQ用户权限管理rabbitmqctl set_user_tags root administrator详细说明此命令用于为RabbitMQ用户设置标签这里是给用户root添加administrator管理员标签标签类型说明administrator管理员权限拥有所有操作权限monitoring监控权限可以查看所有信息但不能修改policymaker策略制定权限可以管理虚拟主机策略management基本管理权限可以使用管理插件典型应用场景新用户创建后需要分配管理权限需要调整现有用户的权限级别在多租户环境中管理不同用户的访问权限相关命令查看用户标签rabbitmqctl list_users删除用户标签rabbitmqctl clear_user_tags username注意事项执行此命令需要RabbitMQ管理员权限修改会立即生效无需重启服务建议使用专用管理账号而非root账号进行日常管理标签内容有容器安装(学习推荐)compose我们可以通过容器来快速启动服务方便我们学习使用services:rabbitmq:image:rabbitmq:3.8.4-managementcontainer_name:rabbitmq-3.8restart:unless-stoppedports:-5672:5672# AMQP-15672:15672# 管理界面environment:RABBITMQ_DEFAULT_USER:adminRABBITMQ_DEFAULT_PASS:secretvolumes:-rabbitmq_data:/var/lib/rabbitmqvolumes:rabbitmq_data:内容如下所示启动服务我们启动docker compose up -d等待结束访问服务我们访问 15672 端口填写刚才文件中的账号密码RabbitMQ 管理命令大全服务启动与停止前台启动在前台启动 Erlang VM 和 RabbitMQ 服务适合调试时使用rabbitmq-server后台启动以守护进程方式在后台启动服务适合生产环境rabbitmq-server -detached停止服务安全停止 RabbitMQ 和 Erlang VMrabbitmqctl stop应用管理应用控制在 Erlang VM 已运行的情况下控制 RabbitMQ 应用# 启动应用rabbitmqctl start_app# 停止应用不停止Erlang VMrabbitmqctl stop_app节点状态检查查看节点运行状态和统计信息rabbitmqctl status队列管理查看队列列出所有队列及其消息数量可添加name, messages等参数显示更多信息rabbitmqctl list_queues虚拟主机管理查看所有虚拟主机vhostrabbitmqctl list_vhosts插件管理插件操作# 列出所有可用插件包括已启用/未启用的rabbitmq-plugins list# 启用指定插件如rabbitmq_managementrabbitmq-pluginsenableplugin-name# 停用指定插件rabbitmq-plugins disableplugin-name用户管理用户操作# 添加新用户用户名和密码rabbitmqctl add_user username password# 列出所有用户及其标签rabbitmqctl list_users# 删除用户rabbitmqctl delete_user username# 清除用户在特定vhost的权限rabbitmqctl clear_permissions -p vhostpath username高级用法示例查看队列详情带更多参数rabbitmqctl list_queues name messages messages_ready messages_unacknowledged创建虚拟主机并设置权限# 创建vhostrabbitmqctl add_vhost /my_vhost# 设置用户权限rabbitmqctl set_permissions -p /my_vhost username.*.*.*查看连接信息rabbitmqctl list_connections查看信道信息rabbitmqctl list_channels错误速查症状根因定位修复rpm -ivh rabbitmq-server-...rpm报依赖缺失socat/openssl 等依赖未装或版本不匹配rpm -qpR 包名.rpm或看报错缺什么库先装 socat、openssl 等依赖统一仓库来源避免混装。下载 3.8.5却安装命令写成 3.8.4文档版本号不一致导致误操作对比下载链接与rpm -ivh文件名统一为同一版本号建议把“下载链接/文件名/安装命令”三者对齐。rabbitmq-server启动失败提示 Erlang 版本不兼容Erlang/OTP 与 RabbitMQ 版本区间不匹配erl -versionRabbitMQ 启动日志按官方兼容矩阵选择 Erlang 版本生产固定“可复现组合”。systemctl start rabbitmq-server失败service unit/权限/数据目录问题或节点没起来systemctl statusjournalctl -u rabbitmq-server根据日志修复目录权限、磁盘空间、端口占用必要时清理残留状态后重启。rabbitmq-plugins enable rabbitmq_management失败节点未运行、插件目录不可写、版本不匹配rabbitmqctl status、插件命令输出先确保rabbitmq-server正常启动修复权限核对包版本。访问 15672 失败浏览器打不开端口未监听/防火墙未放行/管理插件未启用ss -lntp|grep 15672插件列表添加用户后登录管理台失败用户权限/标签未设置或 vhost 权限缺失rabbitmqctl list_users、list_permissions -p /set_permissions与set_user_tags配套执行确保对目标 vhost 授权。set_permissions成功但业务仍拒绝使用了非/vhost 或应用连接串 vhost 不一致管理台查看 vhost应用连接参数为实际 vhost 设置权限统一应用侧 vhost 配置。Docker Compose 启动后数据丢失未挂载卷或卷名变化docker volume ls容器挂载信息保持volumes: rabbitmq_data:/var/lib/rabbitmq不要频繁改卷名。Compose 启动报权限/写入失败宿主机目录/卷权限与容器用户不匹配docker logs改用命名卷或修复宿主机目录权限避免直接挂载无权限路径。默认账号/弱口令带来安全风险admin/secret、root/123456 属于可猜测凭据配置与命令段落可直接识别学习环境可保留但必须标注“仅限本地/内网”生产改强口令并限制 15672 暴露面。其他系列 AI篇持续更新中长期更新AI炼丹日志-29 - 字节跳动 DeerFlow 深度研究框斜体样式架 私有部署 测试上手 架构研究持续打造实用AI工具指南AI研究-132 Java 生态前沿 2025Spring、Quarkus、GraalVM、CRaC 与云原生落地 AI模块直达链接 Java篇持续更新中长期更新Java-196 消息队列选型RabbitMQ vs RocketMQ vs KafkaMyBatis 已完结Spring 已完结Nginx已完结Tomcat已完结分布式服务已完结Dubbo已完结MySQL已完结MongoDB已完结Neo4j已完结FastDFS 已完结OSS已完结GuavaCache已完结EVCache已完结RabbitMQ正在更新… 深入浅出助你打牢基础 Java模块直达链接 大数据板块已完成多项干货更新300篇包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件覆盖离线实时数仓全栈大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT案例 详解 大数据模块直达链接