Debian/Ubuntu可以直接使用默认APT源安装,但是这样安装的版本通常是非常旧且不再提供技术维护的
因此RabbitMQ提供了两个自己的安装源
本文使用方式一:Cloudsmith
-
可选步骤:此步骤已更新 建议新建系统用户
rabbitmq
,登陆此用户继续下面的操作,不新建也没影响,只是官方默认会在rabbitmq系统用户路径下建立目录- 更新:
- 可能不用新建用户,直接按照下面的步骤安装,安装完成以后会自动在系统中增加一个名为
rabbitmq
的用户组,然后把当前用户添加到这个组里就可以了(经实验不行,望大佬详解,目前依然在用sudo操作,不过没有影响),不添加也可以,后续操作rabbitmqctl
需要加sudo
命令 - 具体步骤(这步在安装完成以后再操作):
sudo groupadd rabbitmq
,会提示已存在此用户组sudo usermod -aG rabbitmq $USER
- 重新登陆系统完成操作
- 可能不用新建用户,直接按照下面的步骤安装,安装完成以后会自动在系统中增加一个名为
- 更新:
-
配置仓库
- 自动配置新版Erlang APT仓库
curl -1sLf \ 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.deb.sh' \ | sudo -E bash
- 自动配置rabbitMQ-server APT仓库
curl -1sLf \ 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/setup.deb.sh' \ | sudo -E bash
- 自动配置新版Erlang APT仓库
-
更新APT源
apt update
-
安装Erlang及RabbitMQ
- 安装Erlang
sudo apt-get install -y erlang-base \ erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \ erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \ erlang-runtime-tools erlang-snmp erlang-ssl \ erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
- 安装rabbitmq-server及其依赖
sudo apt-get install rabbitmq-server -y --fix-missing
安装完成,可进入/sbin
目录搜索是否有以下文件,有即安装成功(安装过程如提示某目录创建失败不影响使用,是因为没有使用系统用户rabbitmq
安装)rabbitmqctl
rabbitmq-diagnostics
rabbitmq-plugins
rabbitmq-queues
rabbitmq-streams
rabbitmq-upgrade
- 安装Erlang
-
启动RabbitMQ服务
systemctl start rabbitmq-server
-
启动UI管理界面
- 配置启动RabbitMQ管理插件
# 注意,如果之前安装未使用用户`rabbitmq`,则下面开头必须加上sudo sudo rabbitmq-plugins enable rabbitmq_management
- 浏览器登陆localhost:15672
- 默认用户:
- 用户名:
guest
- 密码:
guest
- 用户名:
- 配置启动RabbitMQ管理插件
-
新建名为
vh1
的虚拟主机Virtual Host(可选,不新建默认为使用系统自带虚拟主机“/”)sudo rabbitmqctl add_vhost vh1
-
新建可远程访问RabbitMQ的用户testuser(密码1234)
# Password is provided as a command line argument. # Note that certain characters such as $, &, &, #, and so on must be escaped to avoid # special interpretation by the shell. sudo rabbitmqctl add_user 'testuser' '1234'
-
给用户
testuser
加权限- 加可访问主机权限(两种方式)
- 有权访问所有虚拟主机
# Assumes a Linux shell. # Grants a user permissions to all virtual hosts. for v in $(rabbitmqctl list_vhosts --silent); do rabbitmqctl set_permissions -p $v "testuser" ".*" ".*" ".*"; done
- 只可访问上面新建的虚拟主机
vh1
# First ".*" for configure permission on every entity # Second ".*" for write permission on every entity # Third ".*" for read permission on every entity sudo rabbitmqctl set_permissions -p "vh1" "testuser" ".*" ".*" ".*"
- 有权访问所有虚拟主机
- 加Management plugin-管理插件权限(包含访问UI界面)
# tag the user with "administrator" for full management UI and HTTP API access sudo rabbitmqctl set_user_tags 'testuser' administrator
OK,已经可以在浏览器中使用新用户testuser登陆系统 - 加可访问主机权限(两种方式)
完成!初学RabbitMQ,如有错误望指正。