在Linux上实现RabbitMQ消息队列,可以按照以下步骤进行:
RabbitMQ是用Erlang编写的,因此首先需要安装Erlang环境。
# 添加Erlang解决方案仓库
echo "deb http://packages.erlang-solutions.com/ubuntu $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/erlang.list
# 更新包列表
sudo apt-get update
# 安装Erlang
sudo apt-get install -y erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
# 验证Erlang安装
erl -version
# 添加RabbitMQ解决方案仓库
echo "deb https://dl.bintray.com/rabbitmq/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
# 更新包列表
sudo apt-get update
# 安装RabbitMQ服务器
sudo apt-get install -y rabbitmq-server
# 启动RabbitMQ服务
sudo systemctl start rabbitmq-server
# 设置RabbitMQ开机自启动
sudo systemctl enable rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management
# 创建新用户
sudo rabbitmqctl add_user myuser mypassword
# 设置用户标签(例如,管理员)
sudo rabbitmqctl set_user_tags myuser administrator
# 设置用户权限
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
默认情况下,RabbitMQ管理界面可以通过浏览器访问 http://<your_server_ip>:15672/
,使用刚刚创建的用户进行登录。
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost', 5672, '/', pika.PlainCredentials('myuser', 'mypassword')))
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()
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost', 5672, '/', pika.PlainCredentials('myuser', 'mypassword')))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(f" [x] Received {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()
使用RabbitMQ管理界面可以监控队列状态、消息数量、消费者连接等信息。此外,还可以使用命令行工具进行更详细的监控和管理。
# 查看队列状态
sudo rabbitmqctl list_queues name messages ready consumers
# 查看连接状态
sudo rabbitmqctl list_connections
通过以上步骤,你可以在Linux上成功安装、配置和使用RabbitMQ消息队列。