Linux(CentOS8)服务器安装RabbitMQ

我安装了很久都没有成功, 各种问题, 每次的异常都不一样, 现将成功安装过程做个总结

安装前工作

确保已经安装了一些基础工具和组件库

下载安装包

text 复制代码
https://www.erlang.org/patches/otp-24.3.4.5
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.15/rabbitmq-server-3.9.15-1.el8.noarch.rpm

安装erlang

执行安装命令

bash 复制代码
rpm -ivh erlang-24.3.4.5-1.el8.x86_64.rpm

如果提示已安装啥的,现卸载

bash 复制代码
yum remove erlang

如果安装时还有类似于已安装的提示, 就加上以下参数

bash 复制代码
rpm -ivh erlang-24.3.4.5-1.el8.x86_64.rpm --force --nodeps

查看是否安装成功

输入命令:

bash 复制代码
erl

安装插件 socat(系统需要安装socat依赖插件)

bash 复制代码
yum install -y socat

安装rabbitmq

执行安装命令:

bash 复制代码
rpm -Uvh rabbitmq-server-3.9.15-1.el8.noarch.rpm

启用rabbitmq服务

开始启动的时候, 可以在控制直接输入:

bash 复制代码
rabbitmq-server

查看上图中的日志, 看看是否正常, 有没有一直在刷日志,看看控制台,登陆成功就ok了, 如果一直在刷日志, 说明启动失败, 需要修改参数, 请看后面遇到的问题章节

如果上面启动服务调试一切正常后, 可用下面的命令启动服务

bash 复制代码
systemctl start rabbitmq-server 

查看状态

bash 复制代码
systemctl status rabbitmq-server 

我启动时报了一个错误, erl not found, 那么就去安装目录启动, 执行下面的命令, 查找安装的目录:

bash 复制代码
find / -name rabbitmq-server

我的在以下目录

进入bin目录, 执行

./rabbitmq-server

至此, 安装完毕, 打开网页, 输入http://xxx:15672
如果提示这个: User can only log in via localhost, 则需要创建用户

创建好用户后, 再次登录, 就正常了

以下是管理用户的命令

#新增用户

bash 复制代码
rabbitmqctl add_user rabbit rabbitpwd

#设置标签

bash 复制代码
rabbitmqctl set_user_tags user administrator

#赋权

bash 复制代码
rabbitmqctl set_permissions -p / user ".*" ".*" ".*"

#查看用户

bash 复制代码
rabbitmqctl list_users

遇到的问题

第一次启动时查看日志, 提示错误信息为:

Ranch acceptor reducing accept rate: out of file descriptors

这个是服务器的最大打开文件数量显示,可以用以下命令查看一下:

bash 复制代码
#看一下默认大小
ulimit -n
#设置大小
ulimit -n 524288

再次启动, 如果不提示错误了, 下面就不用设置了

bash 复制代码
vim /etc/security/limits.conf 

在最后增加:

bash 复制代码
* soft nofile 65535
* hard nofile 65535

然后执行:

bash 复制代码
sysctl -p

再次启动提示控制台提示错误: Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only, 这个是因为.erlang.cookeie这个文件的问题, 我就直接把/root/下的这个文件拷贝到/var/lib/rabbitmq下面了

再次启动提示: Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces

执行以下命令

bash 复制代码
sudo chmod 600 /var/lib/rabbitmq/.erlang.cookie
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

注意: .erlang.cookie这个文件一定要处理好, 否则会一直出错, 一定要仔细看错误信息

启动时日志一直在刷连接5672, 然后关闭连接, 这种情况, 我是直接重启一下服务器就好了

再次启动, 正常了

Good luck~~

相关推荐
或与且与或非42 分钟前
.net 8压榨rabbitMq性能
rabbitmq·.net·ruby
运维李哥不背锅2 小时前
Ansible 模块详解:高效管理你的 IT 基础设施
服务器·网络·ansible
我爱钱因此会努力2 小时前
ansible自动化运维入门篇
linux·运维·服务器·centos·自动化·ansible
南棱笑笑生4 小时前
20251028在Ubuntu20.04.6上编译AIO-3576Q38开发板的Buildroot系统
大数据·linux·服务器·rockchip
☆璇4 小时前
【Linux】数据链路层
linux·服务器·网络
深兰科技5 小时前
深兰科技入选“2025中国人工智能行业创新力企业百强”
人工智能·科技·百度·kafka·rabbitmq·memcached·深兰科技
兜兜风d'6 小时前
RabbitMQ事务机制详解
数据库·spring boot·分布式·rabbitmq·ruby·java-rabbitmq
9ilk6 小时前
【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
c++·笔记·分布式·后端·中间件·rabbitmq
勇往直前plus6 小时前
学习和掌握RabbitMQ及其与springboot的整合实践(篇二)
spring boot·学习·rabbitmq·java-rabbitmq