第1章 RabbitMQ安装
一般来说安装RabbitMQ之前要安装Erlang,可以去Erlang官网下载。
接着去RabbitMQ官网下载安装包,之后解压缩即可。
Erlang官方下载地址:https://www.erlang.org/downloads
RabbitMQ官方下载地址:https://www.rabbitmq.com/download.html
不方便去官网下载的可以去百度网盘下载 提取码:cweu
1.1 安装前的准备
1.1.1 依赖包安装
安装RabbitMQ之前必须要先安装所需要的依赖包,可以使用下面的一次性安装命令:
yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
1.1.2安装Erlang
- 手动在Linux的/usr/local目录下创建Erlang的安装目录
mkdir /usr/local/erlang
- 将Erlang源代码包otp_src_19.3.tar.gz上传到/usr/local/erlang目录下
- 解压erlang 源码包
tar -zxvf otp_src_19.3.tar.gz
- 进入erlang的解压目录
cd otp_src_19.3
- 配置erlang的安装信息
./configure --prefix=/usr/local/erlang --without-javac
- 编译并安装
make && make install
- 配置环境变量
vim /etc/profile
- 将这些配置填写到profile文件的最后
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
- 启动环境变量配置文件(启动后不会有提示)
source /etc/profile
1.2 安装RabbitMQ
- 将RabbitMQ安装包安装包rabbitmq-server-3.7.2-1.el7.noarch.rpm 上传到/home目录
- 安装RabbitMQ
rpm -ivh --nodeps rabbitmq-server-3.7.2-1.el7.noarch.rpm
1.3 Rabbit常用命令
1.3.1 启动和关闭
- 启动RabbitMQ
rabbitmq-server start &
注意:这里可能会出现错误,错误原因是/var/lib/rabbitmq/.erlang.cookie文件权限不够。 解决方案对这个文件授权
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie chmod 400
/var/lib/rabbitmq/.erlang.cookie
- 停止服务
rabbitmqctl stop
1.3.2 插件管理
- 添加插件
rabbitmq-plugins enable {插件名}
- 删除插件
rabbitmq-plugins disable {插件名}
- 注意:RabbitMQ启动以后可以使用浏览器进入管控台但是默认情况RabbitMQ不允许直接使用浏览器浏览器进行访问因此必须添加插件
rabbitmq-plugins enable rabbitmq_management
- 使用浏览器访问管控台http://RabbitMQ服务器IP:15672
http://172.16.188.133:15672
1.3.3 用户管理
RabbitMQ安装成功后使用默认用户名guest登录
账号:guest
密码:guest
注意:这里guest只允许本机登录访问需要创建用户并授权远程访问命令如下
- 添加用户:
rabbitmqctl add_user {username} {password}
rabbitmqctl add_user root root
- 删除用户:
rabbitmqctl delete_user {username}
rabbitmqctl delete_user root
- 修改密码:
rabbitmqctl change_password {username} {newpassword}
rabbitmqctl change_password root 123456
- 设置用户角色:
rabbitmqctl set_user_tags {username} {tag}
rabbitmqctl set_user_tags root administrator
tag参数表示用户角色取值为:management ,monitoring ,policymaker administrator
各角色详解:
management
- 用户可以通过AMQP做的任何事外加:
- 列出自己可以通过AMQP登入的virtual hosts
- 查看自己的virtual hosts中的queues, exchanges 和 bindings
- 查看和关闭自己的channels 和 connections
- 查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual
hosts中的活动。
policymaker
management
- 可以做的任何事外加:
- 查看、创建和删除自己的virtual hosts所属的policies和parameters
monitoring
management
- 可以做的任何事外加:
- 列出所有virtual hosts,包括他们不能登录的virtual hosts
- 查看其他用户的connections和channels
- 查看节点级别的数据如clustering和memory使用情况
- 查看真正的关于所有virtual hosts的全局的统计信息
administrator
policymaker
和monitoring
可以做的任何事外加:- 创建和删除virtual hosts
- 查看、创建和删除users
- 查看创建和删除permissions
- 关闭其他用户的connections
1.3.4 权限管理
- 授权命令:
rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}
-p vhostpath :用于指定一个资源的命名空间,例如 –p / 表示根路径命名空间
user:用于指定要为哪个用户授权填写用户名
conf:一个正则表达式match哪些配置资源能够被该用户配置。
write:一个正则表达式match哪些配置资源能够被该用户读。
read:一个正则表达式match哪些配置资源能够被该用户访问。
例如:
rabbitmqctl set_permissions -p / root '.*' '.*' '.*'
用于设置root用户拥有对所有资源的 读写配置权限 - 查看用户权限
rabbitmqctl list_permissions [vhostpath]
例如
查看根径经下的所有用户权限
rabbitmqctl list_permissions
查看指定命名空间下的所有用户权限
rabbitmqctl list_permissions /abc
- 查看指定用户下的权限
rabbitmqctl list_user_permissions {username}
例如
查看root用户下的权限
rabbitmqctl list_user_permissions root
- 清除用户权限
rabbitmqctl clear_permissions {username}
例如:
清除root用户的权限
rabbitmqctl clear_permissions root
1.3.5 vhost管理
vhost是RabbitMQ中的一个命名空间,可以限制消息的存放位置利用这个命名空间可以进行权限的控制有点类似Windows中的文件夹一样,在不同的文件夹中存放不同的文件。
- 添加vhost: rabbitmqctl add vhost {name}
例如
rabbitmqctl add vhost bjpowernode
- 删除vhost:rabbitmqctl delete vhost {name}
例如
rabbitmqctl delete vhost bjpowernode
至此,以上便是-RabbitMQ消息队列|从入门到精通——RabbitMQ的安装与启动-的全部内容
我是石乔,一个尚在努力着的Java程序员
愿我的文章可以帮助到你,共同努力,加油!