RabbitMQ配置

文章目录

centos7安装rabbitmq
官网教程:https://www.rabbitmq.com/install-rpm.html#downloads

官网介绍了两种安装方法:

安装使用yum库中的包(强烈建议此选项)上Cloudsmith.io或PackageCloud

下载软件包并使用rpm安装它。此选项将需要手动安装所有软件包依赖项

这里只介绍第二种方法,下载软件包通过rpm安装,软件包依赖项主要指的是erlang

1、下载erlang安装包

由于rabbitmq依赖于erlang,所以要先下载安装erlang,下载安装的erlang和rabbitmq版本要对应,版本要求可以参考官网:https://www.rabbitmq.com/which-erlang.html

下载erlang地址:https://github.com/rabbitmq/erlang-rpm/releases

安装包名称包含el8对应centos8系统,el7对应centos7系统,所以下载时选择包名带有el7的

2、下载rabbitmq安装包

下载地址:https://github.com/rabbitmq/rabbitmq-server/releases

注意与erlang版本对应

将下载的两个安装包放到Linux服务器,建议路径:/usr/local/software(software文件夹需要自己创建)

如果上传失败,可能是文件夹权限问题,修改文件夹权限:

shell 复制代码
chmod 777 /usr/local/software

3、安装erlang和rabbitmq

shell 复制代码
rpm -ivh erlang-23.3.4.8-1.el7.x86_64.rpm # 安装erlang
yum install socat -y # 安装所需依赖
rpm -ivh rabbitmq-server-3.9.11-1.el7.noarch.rpm # 安装rabbitmq

rpm默认安装在/usr/lib目录下,至此,rabbitmq就安装完成了

启动rabbitmq

设置开机启动

shell 复制代码
chkconfig rabbitmq-server on
启动服务

/sbin/service rabbitmq-server start
查看服务状态

/sbin/service rabbitmq-server status
停止服务

/sbin/service rabbitmq-server stop

如果启动服务报错:

shell 复制代码
Job for rabbitmq-server.service failed because the control process exited with 
error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

参考解决方案:https://blog.csdn.net/fvdfsdafdsafs/article/details/89332506

浏览器访问rabbitmq

此时浏览器访问:http://ip:15672是失败的,因为没有安装rabbitmq的web插件,安装方法:

shell 复制代码
rabbitmq-plugins enable rabbitmq_management # 安装web插件

安装之前需要把rabbitmq服务停掉,安装完成重启rabbitmq服务才能使插件生效

再次访问,如果还是失败,可能是服务器防火墙没有关闭,查看防火墙状态:

shell 复制代码
systemctl status firewalld
如果防火墙开启,则需要关闭防火墙:

systemctl stop firewalld # 关闭防火墙,只对当前有效,系统重启防火墙还会再次打开
永久关闭防火墙:

systemctl enable firewalld # 系统重启,防火墙也不会再次打开

此时再次访问浏览器就成功了

创建新用户

如果是在Linux浏览器访问本地rabbitmq服务,则使用默认账号(用户名:guest 密码:guest)即可登录成功

如果是在windows浏览器访问,则默认账号登录失败,报错:

User can only log in via localhost # 默认账号没有权限,只能在服务器本地登录

解决方案:创建一个新用户,并赋予管理员权限即可远程登录

Linux浏览器访问rabbitmq服务,使用默认账号登录后可以在图形化界面创建新用户,该方法比较简单,这里介绍通过命令创建新用户

shell 复制代码
rabbitmqctl list_users # 查看当前有哪些用户角色
rabbitmqctl add_user admin 123 # 添加用户(用户名:admin  密码:123)
rabbitmqctl set_user_tags admin administrator # 设置admin用户角色为administrator(超级管理员)

设置用户权限,模板如下:

shell 复制代码
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"  # admin用户具有vhostpath为/中所有资源的配

置、写、读权限

相关推荐
努力的小郑1 天前
从一次分表实践谈起:我们真的需要复杂的分布式ID吗?
分布式·后端·面试
AAA修煤气灶刘哥2 天前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
往事随风去2 天前
架构师必备思维:从“任务队列”到“事件广播”,彻底吃透消息队列两大设计模式
消息队列·rabbitmq
Aomnitrix2 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
程序消消乐2 天前
Kafka 入门指南:从 0 到 1 构建你的 Kafka 知识基础入门体系
分布式·kafka
智能化咨询2 天前
Kafka架构:构建高吞吐量分布式消息系统的艺术——进阶优化与行业实践
分布式·架构·kafka
Chasing__Dreams2 天前
kafka--基础知识点--5.2--最多一次、至少一次、精确一次
分布式·kafka
在未来等你3 天前
Elasticsearch面试精讲 Day 17:查询性能调优实践
大数据·分布式·elasticsearch·搜索引擎·面试
大数据CLUB3 天前
基于spark的澳洲光伏发电站选址预测
大数据·hadoop·分布式·数据分析·spark·数据开发