linux cenos7安装rabbitMq 及基础使用

一、下载erlang和rabbitmq-server的rpm:
http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
二、将下载好的erlang和rabbit(rpm)包上传到linux上面
1.解压:eg: rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
2.如果 在解压安装 mq的时候出现
(1)则需要安装socat依赖
yum install socat
 
(2)再次解压安装mq即可
三、启动和关闭
1. /sbin/service rabbitmq-server stop #关闭
/sbin/service rabbitmq-server start #启动
/sbin/service rabbitmq-server status #状态
2. 启动rabbitmq,并验证启动情况 
rabbitmq-server --detached &ps aux |grep rabbitmq
以服务的方式启动
service rabbitmq-server start
启用维护插件 15672端口
rabbitmq-plugins enable rabbitmq_management    
# 开放端口 (mq的默认端口为15672)
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --reload
3.配置mq
切换到 /etc/rabbitmq目录下 创建rabbitmq.config文件并在其中添加配置
 [{rabbit, [{loopback_users, []}]}].
这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认 只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
4.开启web管理页面
rabbitmq-plugins enable rabbitmq_management
5.重启rabbitmq
service rabbitmq-server restart
四.登录mq
1.http://自己的ip:15672/ 第一次登录默认用户名密码为guest
2.用户管理
新增 rabbitmqctl add_user admin admin
删除 rabbitmqctl delete_user admin
修改 rabbitmqctl change_password admin admin12
用户列表 rabbitmqctl  list_users
设置角色 rabbitmqctl set_user_tags admin administrator monitoring policymaker management
设置用户权限 rabbitmqctl  set_permissions  -p  VHostPath  admin  ConfP  WriteP  ReadP VHostPath  为用户 是否可以访问虚拟机主机 也就是新建的用户是否可以登录web管理页面 我是在启动命令的时候把 VHostPath  替换为 / 就可以访问web管理页面了
 
查询所有权限 rabbitmqctl  list_permissions  [-p  VHostPath]
指定用户权限 rabbitmqctl  list_user_permissions  admin
清除用户权限 rabbitmqctl  clear_permissions  [-p VHostPath]  admin
五、官网参考命令
1.应用程序管理:
(1)rabbitmqctl force_reset  无条件重新设置
(2)rabbitmqctl reset    需要在当前rabbitmq关闭服务才能运行
(3)rabbitmqctl shutdown   关闭rabbitmq服务节点
(4)rabbitmqctl start_app    启动reabbitmq服务
(5)rabbitmqctl stop         停止运行RabbitMQ的Erlang节点。
(6)rabbitmqctl stop_app     停止rabbitmq服务
(7)rabbitmqctl hipe_compile /tmp/rabbit-hipe/ebin    对HiPE-compile模块并将它们存储到 / tmp / rabbit-hipe / ebin目录
(8)rabbitmqctl rotate_logs  此命令启动内部日志轮换过程
(9)rabbitmqctl wait /var/run/rabbitmq/pid   当RabbitMQ节点启动时,此命令将返回
2.集群管理
(1)rabbitmqctl join_cluster hare@elena --ram   此命令指示RabbitMQ节点加入“hare@elena (作为master)”所属的群集,作为ram节点 ,当前作为slave
(2)rabbitmqctl cluster_status    集群的节点状态
(3)rabbitmqctl change_cluster_node_type disc/ram  修改集群节点作为ram还是disc
(4)rabbitmqctl -n hare@mcnulty forget_cluster_node rabbit@stringer  删除集群中指定的节点 此命令将从节点“ hare @ mcnulty ”中删除节点“ rabbit @ stringer ”
(5)rabbitmqctl rename_cluster_node rabbit@misshelpful rabbit@cordelia  此命令将节点“ rabbit @ misshelpful ” 重命名为节点“ rabbit @ cordelia ”
(6)rabbitmqctl  update_cluster_nodes -n A C. 对该命令的需求是由于在节点离线时集群可以改变的事实。考虑节点 A和B 聚类的情况。A下降, C群集与 B,然后 B离开群集。当 A醒来时,它会尝试联系 B,但这会失败,因为 B不再在群集中。
(6.1)以下命令将解决此问题
(6.1.1)rabbitmqctl force_boot
(6.1.2)sync_queue [-p vhost] queue  同步队列
(6.1.3)cancel_sync_queue [-p vhost] queue   取消队列同步
(6.1.4)purge_queue [-p vhost] queue   清空队列
(6.1.5)rabbitmqctl set_cluster_name london   这会将群集名称设置为“london”
3.用户管理
(1)rabbitmqctl add_user janeway changeit  添加
(2)rabbitmqctl delete_user janeway        删除
(3)rabbitmqctl change_password janeway newpass  修改密码
(4)rabbitmqctl clear_password janeway  清空密码
(5)rabbitmqctl authenticate_user janeway verifyit 验证用户名密码
(6)rabbitmqctl set_user_tags janeway administrator   此命令指示RabbitMQ代理确保名为“janeway”的用户是管理员
(7)rabbitmqctl set_user_tags janeway    指示RabbitMQ代理从名为“janeway”的用户中删除任何标记
(8)rabbitmqctl list_users  用户列表
4.访问控制
(1)rabbitmqctl add_vhost test  此命令指示RabbitMQ代理创建名为“test”的新虚拟主机
(2)rabbitmqctl delete_vhost test  此命令指示RabbitMQ代理删除名为“test”的虚拟主机
(3)rabbitmqctl list_vhosts name tracing   此命令指示RabbitMQ代理列出所有虚拟主机
(4)rabbitmqctl set_permissions -p my-vhost janeway “^janeway-.*” “.*” “.*”     此命令指示RabbitMQ代理向名为“janeway”的用户授予对名为“my-vhost”的虚拟主机的访问权限,并对名称以“janeway-”开头的所有资源具有配置权限,并具有写入和读取权限。
5.所有资源:
(1)rabbitmqctl clear_permissions -p my-vhost janeway  此命令指示RabbitMQ代理拒绝名为“janeway”的用户访问名为“my-vhost”的虚拟主机
(2)rabbitmqctl list_permissions -p my-vhost  此命令指示RabbitMQ代理列出已被授予对名为“my-vhost”的虚拟主机的访问权限的所有用户,以及他们对该虚拟主机中资源的操作所具有的权限。请注意,空字符串表示没有授予权限
(3)rabbitmqctl list_user_permissions janeway  此命令指示RabbitMQ代理列出已授予用户名为“janeway”的所有虚拟主机,以及用户对这些虚拟主机中的资源的操作所具有的权限:
rabbitmqctl set_topic_permissions -p my-vhost janeway amq.topic “^janeway-.*” “^janeway-.*”
rabbitmqctl set_topic_permissions -p my-vhost janeway amq.topic “^{username}-.*” “^{username}-.*”
(4)rabbitmqctl clear_topic_permissions -p my-vhost janeway amq.topic  此命令指示RabbitMQ代理删除名为“janeway”的用户的主题权限,用于名为“my-vhost”的虚拟主机中的主题交换“amq.topic”
(5)rabbitmqctl list_topic_permissions -p my-vhost  此命令指示RabbitMQ代理列出已在虚拟主机中被授予主题权限的所有用户,名为“my-vhost:”
rabbitmqctl list_topic_user_permissions janeway 此命令指示RabbitMQ代理列出已授予用户名为“janeway”的所有虚拟主机,以及用户在这些虚拟主机中拥有的主题权限
 
安装rabbit有两种包 一种就是我安装的rpm 另一种是大家熟悉的tar包

 
posted @ 2021-01-29 09:29  cc小馒头  阅读(107)  评论(0)    收藏  举报