您的位置:

RabbitMQ安装及配置教程 - 搭建高效消息队列系统

一、安装RabbitMQ

首先,需要安装 RabbitMQ,这个过程非常简单。您可以按照下面的步骤进行操作。

1、添加 Erlang 仓库

sudo nano /etc/apt/sources.list.d/erlang.list

2、将以下内容添加到文件中

deb https://packages.erlang-solutions.com/ubuntu trusty contrib

3、添加公共秘钥

wget -O - https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -

4、更新仓库

sudo apt-get update

5、安装 RabbitMQ

sudo apt-get install rabbitmq-server

6、检查 RabbitMQ 是否安装成功

sudo systemctl status rabbitmq-server

如果您看到“active (running)”字样,则说明 RabbitMQ 已经安装成功了。

二、配置RabbitMQ

在启动应用程序之前,您需要为 RabbitMQ 配置基本设置。下面是一些要素需要设置。

1、添加用户和密码

sudo rabbitmqctl add_user admin your_password

2、将 admin 设置为管理员用户

sudo rabbitmqctl set_user_tags admin administrator

3、设置权限

sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

现在您已经配置了用户名和密码,以及设置了基本的权限。下面需要讲解如何访问 RabbitMQ。

三、访问RabbitMQ

默认情况下,RabbitMQ 监听端口为 5672。如果您使用 localhost 访问,则 URL:http://localhost:5672。如果您希望从外部访问,则可以使用 IP 地址或公共 DNS。

如果您想通过 Web 界面访问 RabbitMQ,则需要启用插件,如下所示:

sudo rabbitmq-plugins enable rabbitmq_management

执行此命令后,可以通过以下地址访问 RabbitMQ 管理面板。

URL:http://localhost:15672/
用户名:guest
密码:guest

四、编写RabbitMQ客户端

现在,我们已准备好用 RabbitMQ 构建应用程序了。下一步是编写一个客户端,该客户端将连接到 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 World!')
print(" [x] Sent 'Hello World!'")

connection.close()

该客户端会将“Hello World!”文本发送到名为“hello”的队列。如果该队列不存在,客户端会创建一个。确认代码是否运行良好之后,我们可以编写一些作为 RabbitMQ 消费者的代码。

import pika

def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

这个代码片段使用一个回调函数来处理“hello”队列中的消息。我们在控制台上输出收到的消息。让我们一起运行这两个文件

python send.py
python receive.py

您应该可以在终端中看到“Hello World!”消息。该示例仅是 RabbitMQ 功能的一部分,让您更好地了解这个强大而又简单的消息队列系统。