在CentOS系统中安装RabbitMQ是一个涉及多个步骤的过程,RabbitMQ是基于Erlang语言开发的消息队列系统,因此首先需要确保系统中安装了Erlang环境,以下是详细的安装步骤:
安装前准备
1、更新软件包和存储库:
在安装任何软件包之前,建议使用以下命令更新软件包和存储库,以确保获取到最新的软件版本和安全补丁。
sudo yum y update
2、安装EPEL存储库:
Erlang在默认的YUM存储库中不可用,因此需要安装EPEL(Extra Packages for Enterprise Linux)存储库。
sudo yum y install epelrelease sudo yum y update
3、下载并安装Erlang:
由于RabbitMQ基于Erlang开发,因此在安装RabbitMQ之前需要先安装Erlang环境,可以从官方网站下载Erlang RPM包或使用以下命令直接安装。
sudo yum y install erlang socat
安装完成后,检查Erlang版本以确认安装成功。
erl version
安装RabbitMQ
1、下载RabbitMQ:
从官方网站或GitHub上下载与Erlang版本相匹配的RabbitMQ RPM包,可以下载rabbitmqserver3.6.161.el7.noarch.rpm或更高版本。
wget https://github.com/rabbitmq/rabbitmqserver/releases/download/v3.6.16/rabbitmqserver3.6.161.el7.noarch.rpm
2、安装RabbitMQ:
使用RPM命令安装下载的RabbitMQ RPM包。
sudo rpm ivh rabbitmqserver3.6.161.el7.noarch.rpm
如果需要升级已有的RabbitMQ版本,可以使用以下命令。
sudo rpm Uvh rabbitmqserver3.6.161.el7.noarch.rpm
3、启用管理界面插件:
为了能够通过Web界面管理RabbitMQ,需要启用管理界面插件。
sudo rabbitmqplugins enable rabbitmq_management
4、开放防火墙端口:
RabbitMQ默认监听5672端口用于通信,而管理界面插件则监听15672端口,需要在防火墙中开放这两个端口。
sudo firewallcmd zone=public addport=5672/tcp permanent && sudo firewallcmd reload sudo firewallcmd zone=public addport=15672/tcp permanent && sudo firewallcmd reload
5、启动RabbitMQ服务:
使用systemctl命令启动RabbitMQ服务,并设置为开机自启动。
sudo systemctl start rabbitmqserver sudo systemctl enable rabbitmqserver sudo systemctl status rabbitmqserver
配置用户和权限
1、创建用户:
默认情况下,RabbitMQ提供了一个guest账户,但该账户仅限于本机访问,为了实现远程访问,需要创建一个新的用户并设置密码。
sudo rabbitmqctl add_user 用户名 密码
2、设置用户角色和权限:
根据需要为用户分配角色(如administrator、monitoring等),并设置相应的资源权限。
sudo rabbitmqctl set_user_tags 用户名 角色 sudo rabbitmqctl set_permissions p "/" 用户名 ".*" ".*" ".*"
3、修改用户密码(可选):
如果需要,可以随时修改用户的密码。
sudo rabbitmqctl change_password 用户名 新密码
RabbitMQ的安装过程包括了更新系统、安装必要的依赖(如Erlang)、下载并安装RabbitMQ、启用管理界面插件、开放防火墙端口、启动服务以及配置用户和权限等多个步骤,每一步都需要仔细执行,以确保RabbitMQ能够正确安装并运行。