首先更新系统软件包,确保后续安装的兼容性:
sudo yum update -y
RabbitMQ基于Erlang语言开发,需先安装Erlang环境。可通过EPEL仓库安装最新稳定版:
sudo yum install -y epel-release # 启用EPEL仓库
sudo yum install -y erlang socat # 安装Erlang及socat(RabbitMQ依赖)
为确保安装最新版本,添加RabbitMQ官方YUM仓库。创建仓库配置文件:
sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq-server]
name=RabbitMQ Repository
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/\$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
EOF
通过YUM仓库安装RabbitMQ Server:
sudo yum install -y rabbitmq-server
安装完成后,启动RabbitMQ服务并配置开机自动启动:
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
若服务器启用了防火墙(如firewalld),需开放RabbitMQ的默认端口:
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp # 开放AMQP端口
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp # 开放管理界面端口
sudo firewall-cmd --reload # 重新加载防火墙规则
默认用户guest的密码也是guest,但仅能从localhost访问。若需远程访问,需创建新用户或修改guest权限:
# 创建新用户(替换为实际用户名/密码)
sudo rabbitmqctl add_user myuser mypassword
# 设置用户角色为管理员(可选)
sudo rabbitmqctl set_user_tags myuser administrator
# 分配权限(允许访问所有虚拟主机)
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
RabbitMQ的主配置文件位于/etc/rabbitmq/rabbitmq.conf(若不存在需手动创建)。常见配置项:
# 修改AMQP端口(避免默认5672被扫描攻击)
listeners.tcp.default = 5673
# 修改管理界面端口
management.tcp.port = 15673
# 允许guest用户远程访问(不推荐生产环境使用)
loopback_users.guest = false
# 设置内存低水位线(当内存使用超过40%时触发流控)
vm_memory_high_watermark.relative = 0.4
sudo systemctl status rabbitmq-server(确保服务运行正常);http://<服务器IP>:15672(若修改了端口则替换为对应端口),使用创建的用户(如myuser/mypassword)登录;rabbitmqadmin、Python pika库)发送/接收消息,验证功能是否正常。guest用户的远程访问(loopback_users.guest = true),并创建专用用户;sudo systemctl restart rabbitmq-server;/var/lib/rabbitmq/mnesia)和日志目录(默认/var/log/rabbitmq)。