溫馨提示×

RabbitMQ消息隊列Ubuntu上如何實現

小樊
39
2025-08-03 21:30:07
欄目: 智能運維

在Ubuntu上實現RabbitMQ消息隊列,你需要遵循以下步驟:

1. 安裝RabbitMQ

首先,你需要安裝RabbitMQ服務器。你可以使用以下命令通過APT包管理器來安裝:

sudo apt update
sudo apt install rabbitmq-server

2. 啟動RabbitMQ服務

安裝完成后,啟動RabbitMQ服務:

sudo systemctl start rabbitmq-server

為了確保RabbitMQ服務在系統啟動時自動運行,你可以啟用它:

sudo systemctl enable rabbitmq-server

3. 啟用管理插件

RabbitMQ提供了一個Web管理界面,可以通過安裝管理插件來啟用:

sudo rabbitmq-plugins enable rabbitmq_management

啟用后,你可以通過瀏覽器訪問http://<your_server_ip>:15672/來訪問管理界面。默認的用戶名和密碼都是guest。

4. 創建用戶和權限

為了安全起見,你應該創建一個新的用戶并為其分配適當的權限:

sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags myuser administrator

這將創建一個名為myuser的用戶,并為其分配所有資源的完全訪問權限。

5. 配置防火墻

如果你的服務器啟用了防火墻,確保開放RabbitMQ使用的端口(默認是5672用于AMQP協議,15672用于管理界面):

sudo ufw allow 5672/tcp
sudo ufw allow 15672/tcp

6. 測試RabbitMQ

你可以使用rabbitmqadmin工具或者編寫簡單的生產者和消費者腳本來測試RabbitMQ是否正常工作。

使用rabbitmqadmin測試:

sudo rabbitmqadmin declare queue name=myqueue durable=true
sudo rabbitmqadmin publish routing_key=myqueue payload="Hello World!"

編寫生產者和消費者腳本:

你可以使用Python的pika庫來編寫生產者和消費者腳本。

生產者腳本 (producer.py):

import pika

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

channel.queue_declare(queue='myqueue', durable=True)

channel.basic_publish(exchange='',
                      routing_key='myqueue',
                      body='Hello World!',
                      properties=pika.BasicProperties(
                         delivery_mode=2,  # make message persistent
                      ))
print(" [x] Sent 'Hello World!'")
connection.close()

消費者腳本 (consumer.py):

import pika

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

channel.queue_declare(queue='myqueue', durable=True)

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

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

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

運行生產者和消費者腳本來測試消息隊列:

python producer.py
python consumer.py

如果一切正常,你應該會看到消費者腳本接收到生產者發送的消息。

以上就是在Ubuntu上實現RabbitMQ消息隊列的基本步驟。根據你的具體需求,你可能還需要進行更多的配置和優化。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女