Ubuntu 中安装 RabbitMQ 教程

简介

RabbitMq作为一款消息队列产品,它由Erlang语言开发,实现AMQP(高级消息队列协议)的开源消息中间件。

应用场景

  1. 异步处理

    场景说明:用户注册后,注册信息写入数据库,再发邮件、短信通知。

  2. 应用解耦

    网上购物,用户提交订单后,订单系统需要通知库存系统。传统做法,

  3. 流量削峰

    前端加入消息队列。大批量用户请求到达后,写入消息队列,并设置最大阈值。超过该阈值的请求丢弃返回错误给客户端。系统只需要从消息队列中取正常的请求来进行处理即可。

安装

安装环境:Ubuntu 20.04,使用如下命令安装

** 更新安装包**

bash 复制代码
sudo apt-get update

安装Erlang

安装rabbitmq,由于rabbitmq需要erlang语言支持,所以需要安装erlang。

bash 复制代码
 apt-get install erlang

执行命令,查看erlang是否安装成功

bash 复制代码
erl

显示如下图即安装成功:

然后退出命令行:Ctrl + c

查看erlang与rabbitmq版本对应关系

https://www.rabbitmq.com/docs/3.13/which-erlang

安装 RabbitMq

查看版本

bash 复制代码
apt-cache madison rabbitmq-server  

开始安装

bash 复制代码
 apt-get install rabbitmq-server

执行命令查看安装结果

bash 复制代码
systemctl status rabbitmq-server

Rabbitmq允许web访问

增加远程登录账号

使用命令查看服务状态。

如果服务没有运行,尝试启动它:

bash 复制代码
systemctl start rabbitmq-server 
systemctl status rabbitmq-server
systemctl stop rabbitmq-server
# 或者
service rabbitmq-server start 
service rabbitmq-server status
service rabbitmq-server stop

# 添加远程账号
rabbitmqctl add_user root root

# 为账号设置权限
# role替换为 administrator,monitoring,management
# administrator,超级管理员角色,可以登录控制台查看所有信息,并可以对用户、策略操作
# monitoring,监控者角色,可以登录控制台查看rabbitmq节点相关信息,无法对策略管理
# management,普通管理者角色,仅可以登录控制台,无法看到节点信息
rabbitmqctl set_user_tags username role

# 查看账户列表
rabbitmqctl list_users

# 修改密码
rabbitmqctl change_password root root

ubuntu开放端口供外网访问:

bash 复制代码
rabbitmq-plugins enable rabbitmq_management
sudo ufw allow 15672
sudo ufw allow 5672

此时浏览器即可访问

http://IP:15672

显示登录页面如图:

然后输入刚刚设置的roo,roo进行登录

相关推荐
孙克旭_41 分钟前
PXE_Kickstart_无人值守自动化安装系统
linux·运维·自动化
皓月盈江2 小时前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
深井冰水2 小时前
mac M2能安装的虚拟机和linux系统系统
linux·macos
leoufung2 小时前
内核内存锁定机制与用户空间内存锁定的交互分析
linux·kernel
忧虑的乌龟蛋4 小时前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
I_Scholar4 小时前
OPENSSL-1.1.1的使用及注意事项
linux·ssl
Johny_Zhao5 小时前
K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
linux·网络·mysql·nginx·网络安全·信息安全·tomcat·云计算·shell·yum源·系统运维·itsm
稳联技术5 小时前
Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
linux·服务器·网络
小马爱打代码5 小时前
面试题 - Kafka、RabbitMQ、RocketMQ如何选型?
kafka·rabbitmq·rocketmq
烟雨迷5 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim