在开始安装前,建议先更新系统软件包以确保兼容性:
sudo yum update -y
RabbitMQ是用Erlang编写的,因此必须先安装Erlang。可通过以下两种方式安装:
sudo yum install -y epel-release
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
sudo yum install -y erlang
sudo yum install -y erlang
安装完成后,验证Erlang版本(需符合RabbitMQ要求,如RabbitMQ 3.11+需要Erlang 25+):
erl -version
为确保安装最新稳定版RabbitMQ,添加官方YUM仓库:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
通过YUM安装RabbitMQ:
sudo yum install -y rabbitmq-server
安装完成后,启动服务并设置为开机自启:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
验证服务状态:
sudo systemctl status rabbitmq-server
# 正常运行时显示“active (running)”
RabbitMQ默认提供Web管理工具,需手动启用:
sudo rabbitmq-plugins enable rabbitmq_management
启用后,可通过http://<服务器IP>:15672访问管理界面,默认用户名/密码为guest/guest(仅限本地访问,远程访问需修改配置)。
RabbitMQ的主配置文件位于/etc/rabbitmq/rabbitmq.conf(若不存在,可手动创建)。常见配置项示例:
# 监听所有IP地址(默认仅本地)
listeners.tcp.default = 0.0.0.0:5672
# 设置默认虚拟主机
default_vhost = /
# 设置默认用户权限
default_user = admin
default_pass = admin123
# 允许远程访问管理插件(默认仅localhost)
management.listener.port = 15672
management.listener.ip = 0.0.0.0
修改后,重启服务生效:
sudo systemctl restart rabbitmq-server
若服务器启用了firewalld,需开放RabbitMQ端口:
# AMQP协议端口(默认5672)
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
# 管理界面端口(默认15672)
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
默认的guest用户仅能本地登录,建议创建新用户并配置权限:
# 创建用户(替换为实际用户名/密码)
sudo rabbitmqctl add_user myuser mypassword
# 设置用户标签(administrator为管理员权限)
sudo rabbitmqctl set_user_tags myuser administrator
# 授权用户访问虚拟主机(/为默认虚拟主机)
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
# 删除默认guest用户的远程访问权限(可选)
sudo rabbitmqctl delete_user guest
http://<服务器IP>:15672,使用新创建的用户登录,查看队列、连接等信息。rabbitmqadmin工具,或使用Python/Java等客户端库)。guest用户的远程访问。queue_index_embed_msgs_below等参数,并确保磁盘空间充足。