RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP),可以为分布式系统提供可靠的异步通信机制。RabbitMQ具有可靠性高、性能优秀、易于使用等特点,因此在分布式系统中得到了广泛的应用。本文将介绍如何在CentOS上安装RabbitMQ。
安装RabbitMQ的前提条件是已经安装了Erlang。Erlang是一种函数式编程语言,RabbitMQ是用Erlang语言编写的,因此要先安装Erlang。可以使用以下命令安装Erlang:
```
yum install erlang
安装完成后,使用以下命令下载RabbitMQ:
wget -server/releases/download/v3.9.5/rabbitmq-server-3.9.5-1.el7.noarch.rpm
下载完成后,使用以下命令安装RabbitMQ:
yum install rabbitmq-server-3.9.5-1.el7.noarch.rpm
安装完成后,使用以下命令启动RabbitMQ:
systemctl start rabbitmq-server
使用以下命令查看RabbitMQ的状态:
systemctl status rabbitmq-server
如果状态为active(running),说明RabbitMQ已经成功安装并启动。
默认情况下,RabbitMQ监听的是localhost(127.0.0.1)的5672端口。如果要让其他机器可以连接RabbitMQ,需要修改配置文件。配置文件位于/etc/rabbitmq/rabbitmq.conf,可以使用以下命令打开配置文件:
vi /etc/rabbitmq/rabbitmq.conf
在配置文件中添加以下内容:
listeners.tcp.default = 5672
listeners.tcp.default.interface = 0.0.0.0
这样就可以让RabbitMQ监听所有网卡的5672端口,从而允许其他机器连接。
使用RabbitMQ需要编写代码。下面是一个简单的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()
这段代码创建了一个连接,声明了一个队列,并向队列发送了一条消息。可以通过该队列接收消息,下面是一个接收消息的Python代码示例:
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()
这段代码创建了一个连接,声明了一个队列,并定义了一个回调函数来处理接收到的消息。可以通过该队列发送消息,下面是一个发送消息的Python代码示例:
本文介绍了如何在CentOS上安装RabbitMQ,并对RabbitMQ进行了简单的配置和使用。RabbitMQ是一个功能强大的消息代理软件,可以为分布式系统提供可靠的异步通信机制。
Ubuntu中可以使用Ctrl+Alt+T快捷键打开终端。