RabbitMQ基于Erlang语言开发,需先安装兼容的Erlang环境。在Debian上可通过以下命令安装:
sudo apt update
sudo apt install -y erlang-nox # 或使用erlang(包含完整组件)
安装后通过erl -version验证版本,确保与RabbitMQ兼容(如RabbitMQ 3.11.x需Erlang 23.3及以上)。
默认APT源中的RabbitMQ版本可能较旧,建议添加官方仓库:
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
focal为你的Debian版本代号,如bookworm):echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-server/ubuntu focal main" | sudo tee -a /etc/apt/sources.list.d/rabbitmq.list
sudo apt update
通过APT安装RabbitMQ:
sudo apt install -y rabbitmq-server
安装完成后,服务会自动启动(可通过sudo systemctl status rabbitmq-server验证状态)。
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
sudo systemctl status rabbitmq-server # 应显示"Active: active (running)"
RabbitMQ默认无Web管理界面,需手动启用rabbitmq_management插件:
sudo rabbitmq-plugins enable rabbitmq_management
启用后需重启服务使插件生效:
sudo systemctl restart rabbitmq-server
默认访问地址为http://<服务器IP>:15672,初始用户为guest/guest(仅限本地访问,生产环境需修改)。
为提升安全性,建议创建专用管理员用户:
# 添加用户(替换your_username/your_password为自定义值)
sudo rabbitmqctl add_user your_username your_password
# 设置用户标签为administrator(拥有所有权限)
sudo rabbitmqctl set_user_tags your_username administrator
# 授权用户访问默认虚拟主机(/)
sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"
之后可使用新用户登录管理界面。
虚拟主机(vhost)用于隔离不同业务环境,避免队列冲突:
my_vhost为自定义名称):sudo rabbitmqctl add_vhost my_vhost
my_user/my_vhost):sudo rabbitmqctl set_permissions -p my_vhost my_user ".*" ".*" ".*"
sudo rabbitmqctl list_vhosts # 查看虚拟主机列表
sudo rabbitmqctl list_permissions -p my_vhost # 查看虚拟主机权限
若系统启用了防火墙(如ufw),需开放RabbitMQ默认端口:
sudo ufw allow 5672/tcp # AMQP协议端口(用于客户端通信)
sudo ufw allow 15672/tcp # 管理界面端口(用于Web访问)
验证防火墙规则:
sudo ufw status # 应显示上述端口为ALLOW状态
rabbitmqadmin工具测试消息收发(需先安装):sudo apt install rabbitmqadmin
# 发送消息到test_queue队列
echo "Hello, RabbitMQ!" | rabbitmqadmin publish routing_key=test_queue exchange=
# 从test_queue队列接收消息
rabbitmqadmin get queue=test_queue
以上步骤覆盖了RabbitMQ在Debian上的基础配置,可根据实际需求扩展(如集群配置、消息持久化、镜像队列等)。