本教程Linux版本为Centos8,笔者在安装RabbitMQ时发现大部分博客记录的安装复杂且版本固定、老旧。本文参考于RabbitMQ官方网站,仅记录RabbitMQ的安装,若需了解或使用RabbitMQ请自行查阅其他资料。
相关链接:RabbitMQ下载参考地址
本文使用root用户,使用rpm包进行安装。若要使用其他用户,请自行在下列命令前添加sudo
。
1. rpm包下载
若官方下载速度太慢,可通过分享(密码:2n8y)下载包(CentOS8,版本3.8.14)。
首先进入RabbitMQ下载地址,下载RabbitMQ的包。
由于RabbitMQ是基于**Erlang(面向高并发的语言)**语言开发,所以在安装RabbitMQ之前,需要先安装Erlang,这里使用RabbitMQ团队提供的Erlang依赖包(只提供运行RabbitMQ所需的组件),链接:erlang-rmp。
首先打开下载页,选择对应版本的rpm包进行下载(版本对应关系),这里统一采用截止发文最新版。
上传文件到服务器放在/root
目录下
2. 安装RabbitMQ
切换到/root
目录下依次执行如下命令
安装erlang依赖包:rpm -ivh erlang-23.2.7-1.el8.x86_64.rpm
安装socat:yum -y install socat
安装RabbitMQ:rpm -ivh rabbitmq-server-3.8.14-1.el8.noarch.rpm
3. 使用RabbitMQ
- 运行RabbitMQ:
systemctl start rabbitmq-server
笔者在用虚拟机演示时发生启动失败,
排查发现rabbitmq 不是通过localhost连接主机的,而是通过主机名
解决办法:
vi /etc/rabbitmq/rabbitmq-env.conf
在其添加内容
RABBITMQ_NODENAME=rabbit@localhost
重新启动即可
-
设置开机自启:
systemctl enable rabbitmq-server
-
启用web控制台:
rabbitmq-plugins enable rabbitmq_management
-
开放客户端端口:
firewall-cmd --zone=public --add-port=5672/tcp --permanent
-
开放web控制台端口:
firewall-cmd --zone=public --add-port=15672/tcp --permanent
-
重启防火墙:
firewall-cmd --reload
-
浏览器访问
yourhost:15672
即可打开web控制台(内网your host查看方法:ip addr
)
4. 创建用户
创建管理用户。
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
rabbitmqctl delete_user guest
# 添加新用户(以下admin为自定义用户名,password为自定义密码)
rabbitmqctl add_user admin password
# 设置用户tag
rabbitmqctl set_user_tags admin administrator
# 赋予用户默认vhost的全部操作权限
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”
# 查看用户的权限
rabbitmqctl list_user_permissions admin
# 查看全部用户的列表
rabbitmqctl list_users
完成后即可使用新增用户登录web控制台。
默认情况下,RabbitMQ的默认的
guest
用户只允许本机访问, 如果想让guest
用户能够远程访问的话,只需要将配置文件中的loopback_users
列表置为空即可,如下:{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许
admin
用户本机访问。{loopback_users, ["admin"]}
更新配置后重启服务。