【软件安装】Linux Centos7 安装RabbitMQ3.5.1-1

本文详细记录了在Linux环境下首次安装与配置RabbitMQ的过程,包括解决安装Erlang和RabbitMQ遇到的问题,配置守护进程启动,安装Web管理界面插件,以及设置远程登录权限等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次安装RabbitMQ,遇到了一些坑。。。。

介绍:

      MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。

RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议

参考:RabbitMQ 中文文档

一、安装Erlang

1.1什么是Erlang

       Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

1.2安装Erlang

1)、进入/usr/local,创建rabbitmq文件夹。

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

2) rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

此时安装失败,提示epel-release 被 erlang-solutions-1.0-1.noarch 需要,因此需要先安装epel-release,

yum install epel-release -y,安装完epel-release,再去执行rpm -Uvh erlang-solutions-1.0-1.noarch.rpm。

 3)yum install erlang      一直y,同意

 

 4)erl -version,查看erlang 版本

至此,erlang  安装成功!

二、安装RabbitMQ Server

1)下载RabbitMQ Server

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmq-server-3.5.1-1.noarch.rpm

2)安装RabbitMQ Server

rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

yum install rabbitmq-server-3.5.1-1.noarch.rpm

安装成功!!!

三、启动RabbitMQ

1)配置为守护进程随系统自动启动,root权限下执行:

chkconfig rabbitmq-server on

2)启动rabbitMQ服务

/sbin/service rabbitmq-server start

此时rabbitmq启动失败,可以按照提示输入journalctl -xe和systemctl status rabbitmq-server.service 命令,查看信息,这里我虽然也看不懂哈。

ps:在参考:国外论坛查到的方法,然而并没有解决问题。

如图:

结果使用 /sbin/service rabbitmq-server start失败,service rabbitmq-server start 正常,service rabbitmq-server stop 正常,service rabbitmq-server restart失败了。

这里觉得真是搞人啊,看图:

我先把rabbitmq服务关闭了,再启动第一次失败,第二次同样的命令成功了,再输入重启命令,第一次失败了,第二次同样命令也成功了。。。。。。搞人

 

开放端口15672 :

/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

四、安装Web管理界面插件(具体步骤,参考下图)

1)安装

rabbitmq-plugins enable rabbitmq_management

2)设置RabbitMQ远程ip登录

创建账号,密码(标准:rabbitmqctl add_user 账号 密码)

ps:以下我都是按照我自己的用户名密码敲密码的,自己注意下用户名密码

rabbitmqctl add_user lucifer 123456       

3)设置用户角色

rabbitmqctl set_user_tags lucifer administrator

4)设置用户权限

rabbitmqctl set_permissions -p "/" lucifer ".*" ".*" ".*"

5)设置完成后可以查看当前用户和角色(需要开启服务)

rabbitmqctl list_users

浏览器输入:serverip:15672。其中serverip是RabbitMQ-Server所在主机的ip。这里的浏览器可以是你主机的浏览器,也可以是你的虚拟机浏览器.

输入刚才设置的账号密码登录即可。

至此算是成功了!!!!

 

注意:如果你在安装Web管理界面插件时,出现如下图错误时,说明你的(可参考:rabbitmq与erlang之间的版本对应关系)不对,导致报错。

 

参考:Linux 安装 rabbitMQ

 

 

<think>嗯,用户在CentOS7安装特定版本RabbitMQ3.7.13的需求很明确。从引用资料看,用户应该已经下载了rabbitmq-server-3.7.13-1.el7.noarch.rpm文件,但可能卡在依赖和配置环节。用户引用[1]和[2]提到Erlang的安装特别重要。RabbitMQ3.7.x需要Erlang20.3-22.x版本,这点需要重点强调。引用[4]虽然版本不同,但展示了通过rpm--force解决依赖冲突的实例,这对用户可能有借鉴意义。注意到用户提供的引用中有三处关键差异点:1依赖安装方式:引用[1]用自定义yum源,引用[3]推荐下载rpm包2配置文件路径:引用[2]提到/usr/share/doc下的配置文件模板3管理插件启用命令在引用[2][3]中完全一致特别要注意的是引用[2]给出的版本号3.7.16和用户需要的3.7.13非常接近,其安装流程可以直接复用。在防火墙配置步骤需要补充说明15672端口,引用[5]的systemctl操作方式比service更符合CentOS7规范。准备给出分阶段方案:第一阶段用yum解决OpenJDK和socat依赖;第二阶段用rpm直接安装本地包并处理签名警告;最后配置阶段重点解决loopback_users配置项的解注释问题——引用[2][3]都强调要移除%%符号。</think> 根据引用资料[1][2][3][5],安装 RabbitMQ 3.7.13-1.el7.noarch.rpm 的步骤如下: ### 一、安装依赖包 ```bash sudo yum install -y epel-release sudo yum install -y gcc glibc-devel make ncurses-devel openssl-devel wget socat logrotate sudo yum install -y java-1.8.0-openjdk-devel # Erlang编译依赖[^1] ``` ### 二、安装Erlang(必须20.3+) ```bash # 添加Erlang仓库(RabbitMQ官方要求) sudo tee /etc/yum.repos.d/rabbitmq-erlang.repo <<EOF [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1 EOF # 安装Erlang sudo yum install -y erlang-* erl -version # 验证安装[^1][^5] ``` ### 三、安装RabbitMQ 3.7.13 ```bash # 下载指定版本rpm包 wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm # 安装RPM包(忽略依赖警告) sudo rpm -Uvh --nodeps rabbitmq-server-3.7.13-1.el7.noarch.rpm # [^4]方案 ``` ### 四、配置启动 ```bash # 1. 生成配置文件 sudo cp /usr/share/doc/rabbitmq-server-3.7.13/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config # 2. 修改配置(启用远程访问) sudo sed -i &#39;/loopback_users/s/^%%//g&#39; /etc/rabbitmq/rabbitmq.config # 移除注释[^2] # 3. 启用管理插件 sudo rabbitmq-plugins enable rabbitmq_management # [^2][^3] # 4. 启动服务 sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server # [^5] ``` ### 五、验证安装 ```bash # 检查状态 rabbitmqctl status # [^5] # 开放防火墙(生产环境需谨慎) sudo firewall-cmd --permanent --add-port={4369,5672,15672,25672}/tcp sudo firewall-cmd --reload ``` 访问管理界面:`http://服务器IP:15672`(默认账号:`guest/guest`) > **关键配置说明** > 1. `loopback_users, []` 配置项移除`%%`注释后允许远程访问[^2] > 2. 若端口冲突(如4369/25672),需修改`/etc/rabbitmq/rabbitmq-env.conf`中的`NODE_PORT`参数[^4] --- ### 相关问题 1. 如何解决RabbitMQ启动时的Erlang版本不兼容问题? 2. RabbitMQ 3.7.x版本的安全配置有哪些最佳实践? 3. 如何为RabbitMQ创建新的管理员账户并删除guest账户? 4. 如何在CentOS 7上升级RabbitMQ3.8+版本? 5. RabbitMQ集群部署需要修改哪些关键配置项?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值