RabbitMQ安装需依次完成Erlang环境(如OTP-25.1)、socat工具、RabbitMQ服务(RPM或通用包)、启用management插件并开放5672/15672端口、创建admin用户并禁用guest账户。
一、安装Erlang运行时环境
RabbitMQ基于Erlang语言开发,必须先安装兼容版本的Erlang。不同RabbitMQ版本对Erlang有严格版本要求,例如RabbitMQ 3.10.x需Erlang 25.x,RabbitMQ 3.9.x推荐Erlang 23.x或24.x。使用不匹配版本将导致服务无法启动。
1、执行命令安装基础编译依赖:
yum install -y gcc gcc-c++ make kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
2、下载Erlang源码包(以OTP-25.1为例):
wget https://github.com/erlang/otp/releases/download/OTP-25.1/otp_src_25.1.tar.gz
3、解压并进入目录:
tar -zxvf otp_src_25.1.tar.gz && cd otp_src_25.1
4、配置安装路径并编译:
./configure --prefix=/usr/local/erlang && make && make install
5、配置系统环境变量:
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile && source /etc/profile
6、验证安装:
erl -version,成功将输出Erlang/OTP版本信息。
二、安装socat依赖工具
socat是RabbitMQ服务启动所必需的系统级工具,用于端口转发和网络连接管理。若缺失,systemd启动时会报错“Failed to start RabbitMQ broker”,且无法正常监听AMQP端口。
1、直接通过YUM安装:
yum install -y socat
2、若因仓库不可达失败,可手动下载RPM包:
wget http://vault.centos.org/7.9.2009/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm
3、本地安装RPM:
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
三、安装RabbitMQ服务器软件
支持两种主流安装方式:RPM包安装(适合快速部署)与通用Unix包安装(适合自定义路径及高版本需求)。两种方式均需确保Erlang已就绪且socat可用。
1、RPM方式(推荐):
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-3.10.7-1.el7.noarch.rpm
2、导入官方签名密钥:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
3、执行本地安装:
yum localinstall rabbitmq-server-3.10.7-1.el7.noarch.rpm -y
4、通用包方式(替代方案):
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-generic-unix-3.10.7.tar.xz PHP建站宝(Centos 64位_ Apache)
PHP建站宝(Centos 64位_ Apache)
下载
5、解压并迁移至标准路径:
xz -d rabbitmq-server-generic-unix-3.10.7.tar.xz && tar -xvf rabbitmq-server-generic-unix-3.10.7.tar -C /usr/local/ && mv /usr/local/rabbitmq_server-3.10.7 /usr/local/rabbitmq
6、配置通用包环境变量:
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile && source /etc/profile
四、启用Web管理插件与防火墙放行
RabbitMQ默认不启用HTTP管理界面,需手动启用插件;同时CentOS 7默认启用firewalld,必须显式开放对应端口,否则浏览器无法访问15672管理页面。
1、启用management插件:
rabbitmq-plugins enable rabbitmq_management
2、启动RabbitMQ服务:
systemctl start rabbitmq-server
3、设置开机自启:
systemctl enable rabbitmq-server
4、开放AMQP核心端口:
firewall-cmd --permanent --add-port=5672/tcp
5、开放Web管理端口:
firewall-cmd --permanent --add-port=15672/tcp
6、重载防火墙规则:
firewall-cmd --reload
五、创建管理员用户并禁用guest账户
默认guest/guest账户仅限localhost访问,生产环境必须创建远程可登录的管理员账户,并禁用默认账户以符合安全基线要求。未执行此步骤将导致远程无法登录管理界面。
1、添加新管理员用户:
rabbitmqctl add_user admin Admin@2026
2、赋予管理员角色:
rabbitmqctl set_user_tags admin administrator
3、授权访问默认vhost:
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
4、禁用guest用户远程访问能力:
rabbitmqctl delete_user guest
5、验证用户列表:
rabbitmqctl list_users,确认admin显示tag为[administrator]。
