RabbitMQ是用Erlang语言编写的,因此需要先安装Erlang。在CentOS上可通过以下命令安装:
# 添加Erlang官方仓库
sudo yum install -y epel-release
# 安装Erlang及socat(RabbitMQ依赖)
sudo yum install -y erlang socat
# 验证Erlang安装
erl -version
通过YUM仓库安装RabbitMQ(推荐,便于后续管理):
# 添加RabbitMQ官方仓库
sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq-server]
name=RabbitMQ repository for CentOS/\$basearch
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/\$releasever/\$basearch
gpgcheck=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
enabled=1
EOF
# 安装RabbitMQ
sudo yum install -y rabbitmq-server
# 启动服务并设置开机自启
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
# 验证服务状态
sudo systemctl status rabbitmq-server
RabbitMQ默认自带Web管理插件,需手动启用:
sudo rabbitmq-plugins enable rabbitmq_management
# 重启服务使插件生效(部分版本无需重启)
sudo systemctl restart rabbitmq-server
默认情况下,guest用户仅能通过localhost访问管理界面。为允许远程访问,需创建新用户并配置权限:
# 删除默认的guest用户(可选,增强安全性)
sudo rabbitmqctl delete_user guest
# 创建新管理员用户(替换为自定义用户名/密码)
sudo rabbitmqctl add_user admin YourSecurePassword123!
# 设置用户为管理员角色
sudo rabbitmqctl set_user_tags admin administrator
# 赋予用户对默认虚拟主机(/)的全部权限
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
若服务器开启了防火墙(如firewalld),需开放管理界面的端口(默认15672):
# 开放15672端口(HTTP管理界面)
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp
# 重新加载防火墙配置
sudo firewall-cmd --reload
通过浏览器访问RabbitMQ管理界面,地址格式为:
http://<服务器IP或域名>:15672
输入步骤4中创建的用户名(如admin)和密码(如YourSecurePassword123!)即可登录。
登录后,可访问以下核心功能模块:
rabbitmq:3.8.1-management镜像(内置管理插件),无需单独启用插件;guest用户远程访问,并定期更换管理员密码;setsebool -P nis_enabled 1)及RabbitMQ服务状态。