RabbitMQ是基于Erlang开发的,需先安装匹配版本的Erlang(具体版本要求参考RabbitMQ与Erlang兼容性表)。
以CentOS 7为例,安装Erlang 23的步骤如下:
# 安装依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel libtool libtool-ltdl-devel
# 下载并解压Erlang源码(以OTP-23.1为例)
wget https://github.com/erlang/otp/releases/download/OTP-23.1/otp_src_23.1.tar.gz
tar -zxvf otp_src_23.1.tar.gz
cd otp_src_23.1
# 配置编译选项
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
# 编译并安装
make && make install
# 配置环境变量
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
source /etc/profile
# 验证安装
erl -version # 显示Erlang版本信息即成功
推荐通过RPM包安装(简化依赖管理):
# 下载RabbitMQ RPM包(以3.8.9为例,需匹配Erlang版本)
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-generic-unix-3.8.9.tar.xz
# 解压到指定目录
tar xf rabbitmq-server-generic-unix-3.8.9.tar.xz -C /usr/local/
ln -s /usr/local/rabbitmq_server-3.8.9 /usr/local/rabbitmq # 创建软链接方便管理
# 配置环境变量
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
source /etc/profile
# 启动RabbitMQ(后台模式)
rabbitmq-server -detached
# 设置开机自启动
systemctl enable rabbitmq-server
# 验证服务状态
systemctl status rabbitmq-server # 显示"active (running)"即成功
RabbitMQ原生插件位于/usr/lib/rabbitmq/lib/rabbitmq_server-<version>/plugins目录,可通过rabbitmq-plugins命令管理:
# 查看所有可用插件
rabbitmq-plugins list
# 启用Web管理界面插件(默认禁用)
rabbitmq-plugins enable rabbitmq_management
# 启用MQTT协议插件(需MQTT客户端支持)
rabbitmq-plugins enable rabbitmq_mqtt
# 重启RabbitMQ使插件生效
systemctl restart rabbitmq-server
若需安装官方未默认提供的插件(如rabbitmq-delayed-message-exchange),需手动下载并放置到插件目录:
# 进入插件目录
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.9/plugins
# 下载对应版本的延迟消息插件(需匹配RabbitMQ版本,如3.8.9)
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.8.0/rabbitmq_delayed_message_exchange-3.8.0.ez
# 启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
# 重启RabbitMQ
systemctl restart rabbitmq-server
http://<服务器IP>:15672,使用默认账号guest/guest登录(若无法远程访问,需修改配置文件/etc/rabbitmq/rabbitmq.config,将loopback_users设为空列表[])。# 查看已启用的插件
rabbitmq-plugins list | grep enabled
# 测试延迟消息插件(需配合客户端代码)
rabbitmqctl list_exchanges | grep delayed # 应显示"x-delayed-message"类型的交换机
plugins目录,可手动下载.ez文件并放置到该目录,再通过rabbitmq-plugins enable命令启用。