sudo yum update -y);sudo访问权限;RabbitMQ基于Erlang语言开发,需先安装兼容版本的Erlang。
sudo yum install -y epel-release
sudo yum install -y https://dl.bintray.com/rabbitmq/erlang/25/el/7/x86_64/erlang-25.0-1.el7.x86_64.rpm
erl -version(显示Erlang版本信息即成功)。通过官方仓库安装RabbitMQ,确保版本最新且支持后续更新。
sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq]
name=RabbitMQ
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/25/el/7/x86_64/
gpgcheck=0
enabled=1
EOF
sudo yum makecache。sudo yum install -y rabbitmq-server
rpm -qi 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(仅限本地访问,需修改以允许远程登录)。默认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 ".*" ".*" ".*"
guest用户(可选,生产环境建议删除):sudo rabbitmqctl delete_user guest
修改/etc/rabbitmq/rabbitmq.conf(若文件不存在,可创建或复制模板):
listeners.tcp.default = 0.0.0.0:5672 # 监听所有IP的5672端口(AMQP协议)
management.tcp.port = 15672 # 管理界面端口(默认15672)
sudo systemctl restart rabbitmq-server。若启用了firewalld,需开放RabbitMQ端口:
sudo firewall-cmd --permanent --add-port=5672/tcp # AMQP协议端口
sudo firewall-cmd --permanent --add-port=15672/tcp # 管理界面端口
sudo firewall-cmd --reload
若使用iptables,需添加对应规则(略)。
sudo systemctl status rabbitmq-server;sudo rabbitmqctl status;http://<服务器IP>:15672,验证能否正常操作(如创建队列、交换机)。guest远程登录:修改rabbitmq.conf,设置loopback_users.guest = false(仅允许本地访问);listeners.ssl.default及证书路径,提升通信安全;vm_memory_high_watermark(内存阈值)、disk_free_limit(磁盘空间阈值)防止资源耗尽;cluster_nodes参数将多个节点组成集群,提升高可用性。以上步骤覆盖了CentOS上RabbitMQ的基础配置,可根据实际需求调整参数(如虚拟主机、权限、端口等)。