Ubuntu 16.04 RabbitMQ 安装与运行方法(安装篇)
RabbitMQ是一个开源的消息队列系统,支持多种消息递协议。在Ubuntu 16.04上安装RabbitMQ非常简单,本文将详细介绍如何在Ubuntu 16.04上安装和运行RabbitMQ,并提供两个示例说明。
环境准备
在开始之前,需要确保已安装了以下环境:
- Ubuntu 16.04 操作系统
- sudo 权限
安装RabbitMQ
在Ubuntu 16.04上安装RabbitMQ非常简单,只需要执行以下命令即可:
sudo apt-get update
sudo apt-get install rabbitmq-server
执行上述命令后,RabbitMQ将被安装在您的系统中。
启动RabbitMQ
在Ubuntu 16.04上启动RabbitMQ非常简单,只需要执行以下命令即可:
sudo systemctl start rabbitmq-server
执行上述命令后,RabbitMQ将会启动。
示例一:使用RabbitMQ发送和接收消息
在本例中,我们将使用RabbitMQ发送和接收消息。具体步骤如下:
- 启动RabbitMQ服务。
- 创建一个发送者并发送消息。
- 创建一个接收者并接收消息。
1. 启动RabbitMQ服务
在Ubuntu 16.04上启动RabbitMQ服务非常简单,只需要执行以下命令即可:
sudo systemctl start rabbitmq-server
2. 创建一个发送者并发送消息
#!/usr/bin/env python
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()
在上述代码中,我们创建了一个发送者并发送了一条消息。在channel.queue_declare
方法中,我们创建了一个名为hello
的队列。在channel.basic_publish
方法中,我们将消息发送到队列中。
3. 创建一个接收者并接收消息
#!/usr/bin/env python
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()
在上述代码中,我们创建了一个接收者并接收了一条消息。在channel.queue_declare
方法中,我们创建了一个名为hello
的队列。在channel.basic_consume
方法中,我们注册了一个回调函数,用于处理接收到的消息。
示例二:使用RabbitMQ实现发布/订阅模式
在本例中,我们将使用RabbitMQ实现发布/订阅模式。具体步骤如下:
- 启动RabbitMQ服务。
- 创建一个发布者并发布消息。
- 创建一个订阅者并接收消息。
1. 启动RabbitMQ服务
在Ubuntu 16.04上启动RabbitMQ服务非常简单,只需要执行以下命令即可:
sudo systemctl start rabbitmq-server
2. 创建一个发布者并发布消息
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.exchange_declare(exchange='logs', exchange_type='fanout')
message = 'Hello World!'
channel.basic_publish(exchange='logs', routing_key='', body=message)
print(" [x] Sent %r" % message)
connection.close()
在上述代码中,我们创建了一个发布者并发布了一条消息。在channel.exchange_declare
方法中,我们创建了一个名为logs
的交换机,并将其类型设置为fanout
。在channel.basic_publish
方法中,我们将消息发送到交换机中。
3. 创建一个订阅者并接收消息
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.exchange_declare(exchange='logs', exchange_type='fanout')
result = channel.queue_declare(queue='', exclusive=True)
queue_name = result.method.queue
channel.queue_bind(exchange='logs', queue=queue_name)
def callback(ch, method, properties, body):
print(" [x] %r" % body)
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
在上述代码中,我们创建了一个订阅者并接收了一条消息。在channel.exchange_declare
方法中,我们创建了一个名为logs
的交换机,并将其类型设置为fanout
。在channel.queue_declare
方法中,我们创建了一个随机的、独占的队列。在channel.queue_bind
方法中,我们将队列绑定到交换机上。在channel.basic_consume
方法中,我们注册了一个回调函数,用于处理接收到的消息。
总结
本文介绍了在Ubuntu 16.04上安装和运行RabbitMQ的方法,并提供了两个示例说明。RabbitMQ是一个功能强大的消息队列系统,可以用于构建高可用性、高性能的分布式应用程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu 16.04 RabbitMq 安装与运行方法(安装篇) - Python技术站