安装 RabbitMQ 通常有两种方式:通过二进制包进行安装,或者通过源代码进行编译和安装。
本文将讲解使用二进制包进行安装的详细过程。
前提条件
在安装 RabbitMQ 之前,需要满足以下前提条件:
- 安装了 Erlang/OTP 19.3 或更高版本
- 确保能够使用管理员权限来安装 RabbitMQ
安装 RabbitMQ
步骤如下:
- 添加 RabbitMQ 的签名密钥:
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | gpg --import -
如果成功,应该会看到这样的输出:
gpg: 验证信任度数据库
gpg: 检查信任度数据库
gpg: 密钥0A9AF2115F4687BD29803A206B73A36E6026DFCA:“RabbitMQ Signing Key (RA-3B7F14CD, AA7B 1B32 708A 1308 5E22 CEF9 6F50 0514 0A9A F211)”来自未知
gpg: 密钥0A9AF2115F4687BD29803A206B73A36E6026DFCA:“RabbitMQ Signing Key (RA-3B7F14CD, AA7B 1B32 708A 1308 5E22 CEF9 6F50 0514 0A9A F211)”被标记为“已信任”
gpg: 全部信任度都正确
- 添加 RabbitMQ 的 apt 仓库源:
sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list <<EOF
deb https://dl.bintray.com/rabbitmq-erlang/debian buster erlang
deb https://dl.bintray.com/rabbitmq/debian buster main
EOF
- 安装 RabbitMQ:
sudo apt-get update -y
sudo apt-get install rabbitmq-server -y --fix-missing
- 启动 RabbitMQ 服务:
sudo systemctl start rabbitmq-server
- 验证 RabbitMQ 是否已经成功启动:
sudo systemctl status rabbitmq-server
如果成功,应该会看到类似这样的输出:
rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-08-29 16:48:50 UTC; 1h 20min ago
Main PID: 76143 (beam.smp)
Tasks: 109 (limit: 37784)
Memory: 152.2M
CGroup: /system.slice/rabbitmq-server.service
├─76143 /usr/lib/erlang/erts-11.1.8/bin/beam.smp -W w -A 64 -MBas ageffcbbe -MHas ageffcbbe -MBlmbcs 512000 -MHlmbcs 512000 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -...
├─76212 erl_child_setup 65536
├─90204 inet_gethost 4
└─90205 inet_gethost 4
安装完成后,RabbitMQ 默认是启用的,且会在系统重启时自动启动。
使用示例:将消息发送到队列中
以下是在 Python 中使用 pika 库向 RabbitMQ 发送消息的示例代码:
import pika
connection = pika.BlockingConnection(
pika.ConnectionParameters('localhost')
)
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(
exchange='',
routing_key='hello',
body='Hello RabbitMQ!'
)
print(" [x] Sent 'Hello RabbitMQ!'")
connection.close()
使用示例:从队列中接收消息
以下是在 Python 中使用 pika 库从 RabbitMQ 接收消息的示例代码:
import pika
connection = pika.BlockingConnection(
pika.ConnectionParameters('localhost')
)
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(
queue='hello', on_message_callback=callback, auto_ack=True
)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
以上是关于在 Linux 中如何安装 RabbitMQ 的完整攻略。通过上述步骤和示例可以帮助您安装和使用 RabbitMQ 消息队列。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux中如何安装RabbitMQ? - Python技术站