ubuntu

Ubuntu如何配置RabbitMQ虚拟主机

小樊
41
2025-10-29 15:34:30
栏目: 云计算

Ubuntu配置RabbitMQ虚拟主机的步骤

1. 前置准备

在配置虚拟主机前,需确保已安装RabbitMQ并启动服务。若未安装,可通过以下命令快速部署:

# 更新软件包列表
sudo apt update
# 安装Erlang(RabbitMQ依赖环境)
sudo apt install -y erlang
# 添加RabbitMQ官方APT源
echo 'deb https://dl.bintray.com/rabbitmq/debian focal main' | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list
# 导入RabbitMQ官方GPG密钥
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
# 更新软件包列表并安装RabbitMQ
sudo apt update && sudo apt install -y rabbitmq-server
# 启动RabbitMQ服务并设置开机自启
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

验证服务状态:

sudo systemctl status rabbitmq-server  # 应显示"active (running)"

2. 启用管理插件(可选但推荐)

为方便通过Web界面管理虚拟主机,建议启用RabbitMQ Management插件:

sudo rabbitmq-plugins enable rabbitmq_management

启用后,可通过浏览器访问管理控制台:http://<服务器IP>:15672(默认用户名/密码为guest,仅限本地访问)。

3. 创建虚拟主机

使用rabbitmqctl命令行工具创建虚拟主机(以my_vhost为例):

sudo rabbitmqctl add_vhost my_vhost

验证虚拟主机是否创建成功:

sudo rabbitmqctl list_vhosts  # 应显示"my_vhost"及默认虚拟主机"/"

4. 创建用户并分配权限

虚拟主机需与用户绑定权限才能访问。首先创建用户(以my_user/mypassword为例):

sudo rabbitmqctl add_user my_user mypassword

为用户分配虚拟主机权限(.*表示允许所有操作,生产环境建议细化权限):

sudo rabbitmqctl set_permissions -p my_vhost my_user ".*" ".*" ".*"

权限参数说明:

5. 验证虚拟主机配置

6. (可选)将队列/交换机绑定到虚拟主机

创建队列或交换机时,需指定虚拟主机(以Python客户端为例):

import pika

# 连接RabbitMQ时指定虚拟主机
credentials = pika.PlainCredentials('my_user', 'mypassword')
parameters = pika.ConnectionParameters(
    host='localhost',
    port=5672,
    virtual_host='my_vhost',  # 关键:指定虚拟主机
    credentials=credentials
)
connection = pika.BlockingConnection(parameters)
channel = connection.channel()

# 声明队列(自动绑定到my_vhost)
channel.queue_declare(queue='my_queue', durable=True)
print("Queue created in virtual host 'my_vhost'")
connection.close()

注意事项

通过以上步骤,即可在Ubuntu上完成RabbitMQ虚拟主机的配置,实现不同业务模块的消息隔离与管理。

0
看了该问题的人还看了