RabbitMQ的安装使用指导
RabbitMQ 安装使用极简指导(Windows/macOS/Linux通用)
核心逻辑:先装Erlang(RabbitMQ依赖)→ 装RabbitMQ → 启动服务 → 可视化管理 → 简单收发消息。
一、安装准备(必做)
1. 安装Erlang
- 原因:RabbitMQ基于Erlang开发,必须先装且版本匹配(官网有版本对照表,新手直接装最新版即可)。
- 下载:Erlang官网,按系统选安装包(Windows双击安装,mac用brew install erlang,Linux用apt/yum install erlang)。
- 验证:终端输入
erl -v,显示版本号即成功。
2. 安装RabbitMQ
- 下载:RabbitMQ官网,选对应系统安装包(Windows/mac/Linux均有一键安装包)。
关键步骤:
- Windows:安装后默认路径
C:\Program Files\RabbitMQ Server\,需配置环境变量(将sbin目录加入PATH)。 - macOS:
brew install rabbitmq,安装后路径/usr/local/Cellar/rabbitmq/。 - Linux(Ubuntu):
sudo apt-get install rabbitmq-server,自动启动服务。
- Windows:安装后默认路径
二、启动与基础配置
1. 启动RabbitMQ服务
- Windows:以管理员身份打开终端,输入
rabbitmq-server start(启动),rabbitmq-server stop(停止)。 - macOS/Linux:
sudo rabbitmq-server start(启动),sudo rabbitmqctl stop(停止)。 - 验证:终端输入
rabbitmqctl status,无报错即服务正常。
2. 启用管理插件(可视化界面,必开)
- 终端输入
rabbitmq-plugins enable rabbitmq_management,启用后访问http://localhost:15672。 - 默认账号密码:
guest/guest(仅本地访问可用,远程访问需新建账号)。
3. 新建远程访问账号(可选,跨设备连接用)
终端执行3条命令:
rabbitmqctl add_user 用户名 密码(创建账号)rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"(授予所有权限)rabbitmqctl set_user_tags 用户名 administrator(设为管理员角色)
三、快速使用(以Python为例,实现消息收发)
1. 安装Python客户端库
- 终端输入
pip install pika(RabbitMQ的Python驱动)。
2. 步骤1:创建生产者(往队列发消息)
import pika
# 连接RabbitMQ服务(本地默认地址+端口,远程需改host为RabbitMQ服务器IP)
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 声明队列(不存在则创建, durable=True 设为持久化,防止服务重启消息丢失)
channel.queue_declare(queue='test_queue', durable=True)
# 发送消息(body为消息内容,需转字节)
channel.basic_publish(
exchange='',
routing_key='test_queue', # 队列名,与声明一致
body='这是一条测试消息!',
properties=pika.BasicProperties(delivery_mode=2) # 消息持久化
)
print("消息发送成功!")
connection.close() # 关闭连接3. 步骤2:创建消费者(订阅队列,接收推送消息)
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='test_queue', durable=True) # 与生产者队列名一致
# 消息回调函数(RabbitMQ主动推送消息时触发)
def callback(ch, method, properties, body):
print(f"收到推送消息:{body.decode('utf-8')}")
ch.basic_ack(delivery_tag=method.delivery_tag) # 手动确认消息已处理
# 注册订阅(auto_ack=False 关闭自动确认,需手动ack)
channel.basic_consume(queue='test_queue', on_message_callback=callback, auto_ack=False)
# 设置预取数(每次只推1条,处理完再推下一条,防止过载)
channel.basic_qos(prefetch_count=1)
print("等待接收消息...(按Ctrl+C退出)")
channel.start_consuming() # 持续监听队列,接收推送4. 测试流程
- 启动RabbitMQ服务(
rabbitmq-server start)。 - 运行消费者程序(开始监听队列)。
- 运行生产者程序(发送消息)。
- 消费者终端会立即收到RabbitMQ主动推送的消息。
需要我帮你排查 安装失败问题,或生成 Java/Go语言的收发消息代码,亦或是配置 RabbitMQ集群(高可用) 吗?
版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/1376.html
转载时须注明出处及本声明