在Ubuntu 24上安装并启动RabbitMQ,并确保其正常运行,可以按照以下步骤进行。我们将详细阐明如何安装Erlang和RabbitMQ,启动RabbitMQ服务,并设置Web管理界面。
1. 更新体系
首先,确保你的体系是最新的。
- sudo apt update
- sudo apt upgrade -y
复制代码 2. 安装Erlang
RabbitMQ必要Erlang运行时环境。我们可以利用RabbitMQ提供的Erlang包来安装。
- sudo apt install -y curl gnupg
- # 添加RabbitMQ的GPG密钥
- curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq-archive-keyring.gpg
- # 添加RabbitMQ的APT源
- echo "deb [signed-by=/usr/share/keyrings/rabbitmq-archive-keyring.gpg] http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang" | sudo tee /etc/apt/sources.list.d/rabbitmq-erlang.list
- # 更新APT缓存并安装Erlang
- sudo apt update
- sudo apt install -y erlang
复制代码 3. 安装RabbitMQ
接下来,安装RabbitMQ服务器。
- # 添加RabbitMQ的GPG密钥
- curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/rabbitmq-archive-keyring.gpg
- # 添加RabbitMQ的APT源
- echo "deb [signed-by=/usr/share/keyrings/rabbitmq-archive-keyring.gpg] http://dl.bintray.com/rabbitmq/debian focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
- # 更新APT缓存并安装RabbitMQ
- sudo apt update
- sudo apt install -y rabbitmq-server
复制代码 4. 启动RabbitMQ服务
安装完成后,启动RabbitMQ服务并设置开机自启。
- sudo systemctl start rabbitmq-server
- sudo systemctl enable rabbitmq-server
复制代码 5. 设置RabbitMQ
启用管理插件
RabbitMQ提供了一个Web管理界面,可以通过启用管理插件来访问。
- 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 ".*" ".*" ".*"
复制代码 6. 访问RabbitMQ管理界面
打开欣赏器,访问RabbitMQ的Web管理界面。默认情况下,管理界面运行在15672端口。
- http://<your-server-ip>:15672
复制代码 利用刚刚创建的用户名和密码登录。
7. 设置防火墙
确保防火墙允许RabbitMQ所需的端口。默认情况下,RabbitMQ利用5672端口进行AMQP通信,15672端口用于Web管理界面。
- sudo ufw allow 5672
- sudo ufw allow 15672
复制代码 8. 验证安装
你可以通过发送和接收消息来验证RabbitMQ是否正常工作。以下是一个简朴的Python示例,利用Pika库来发送和接收消息。
安装Pika
发送消息
创建一个名为 send.py 的文件:
- 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()
复制代码 运行发送脚本:
接收消息
创建一个名为 receive.py 的文件:
- 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',
- auto_ack=True,
- on_message_callback=callback)
- print(' [*] Waiting for messages. To exit press CTRL+C')
- channel.start_consuming()
复制代码 运行接收脚本:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |