Rabbitmq:在CentOS7版本安装步骤

 

需要先安装erlang语言 socat 再安装 rabbitMQ erlang

下载列表:https://github.com/rabbitmq/erlang-rpm/releases rabbitMQ

下载列表:https://github.com/rabbitmq/rabbitmq-server/releases

1  rpm -ivh erlang-20.3.8.20-1.el7.x86_64.rpm
2  yum install socat.x86_64
3  rpm -ivh rabbitmq-server-3.7.12-1.el7.noarch.rpm

 

注意:

如果出现错误:

error: Failed dependencies:
    erlang >= 20.3 is needed by rabbitmq-server-3.7.12-1.el7.noarch
    socat is needed by rabbitmq-server-3.7.12-1.el7.noarch

epel仓库安装的erlang版本太低,是

# yum list |grep erlang
erlang.x86_64                           R16B-03.18.el7                 @epel 

这里需要用20.3以上版本的  。到官网下载新版本的erlang

 erlang-20.3.8.20-1.el7.x86_64
 

安装新版本:rpm -ivh erlang-20.3.8.20-1.el7.x86_64.rpm

如果遇到跟之前版本冲突,就卸载以前版本:yum remove erlang-erts-R16B-03.18.el7.x86_64  然后重新安装。

 

二、使用rabbitmq

启动rabbitmq,并验证启动情况 
rabbitmq-server --detached &ps aux |grep rabbitmq

以服务的方式启动
service rabbitmq-server start

启用维护插件 15672端口
rabbitmq-plugins enable rabbitmq_management    

# 开放端口

firewall-cmd --add-port=15672/tcp --permanent

firewall-cmd --reload


重启rabbitmq
service rabbitmq-server restart

 

登录
http://192.168.163.131:15672/ 用户名密码 guest

无法登陆

解决:

找到这个文件rabbit.app
/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.7/ebin/rabbit.app

将:{loopback_users, [<<”guest”>>]},
改为:{loopback_users, []},
原因:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问
 

重启服务就OK了      systemctl restart rabbitmq-server.service

 user:guest                        datamip
 pwd:guest                        datamip

*************************************************************

命令:

官网命令地址:https://www.rabbitmq.com/rabbitmqctl.8.html

rabbitmq-server  服务启动或者用下面的命令

这种一直在这个窗口,不能进行其他命令的输入

1、服务器启动与关闭
启动:service rabbitmq-server start
关闭:service rabbitmq-server stop
重启:service rabbitmq-server restart

systemctl start rabbitmq-server.service

2、用户管理
新增 rabbitmqctl add_user admin admin
删除 rabbitmqctl delete_user admin
修改 rabbitmqctl change_password admin admin123

用户列表 rabbitmqctl  list_users
设置角色 rabbitmqctl set_user_tags admin administrator monitoring policymaker management

设置用户权限 rabbitmqctl  set_permissions  -p  VHostPath  admin  ConfP  WriteP  ReadP
查询所有权限 rabbitmqctl  list_permissions  [-p  VHostPath]
指定用户权限 rabbitmqctl  list_user_permissions  admin
清除用户权限 rabbitmqctl  clear_permissions  [-p VHostPath]  admin

 

**********************************************

http://www.rabbitmq.com/man/rabbitmqctl.1.man.html 

一:rabbitmq control  【rabbitmqctl】  可以管理rabbitmq的方方面面。。。

UI工具可以观看这个rabbitmq的实时状况, http api的方式也可以查看。。。。

ui 和 命令行 的一个子集。


二:usr/rabbitmq/sbin/rabbitmqctl

rabbitmqctl [-n node] [-t timeout] [-q] {command} [command options...]


1. 应用程序和集群的管理 Application and Cluster Management 

   erlang  和 rabbitmq 有区别的。。  

   C#[CLR]     和  Ctrip 的网站

  stop      erlang node

  stop_app      rabbitmq application

  start_app     

  reset         Return a RabbitMQ node to its virgin state.  【格式化】

                queues / exchanges 。。。。

  force_reset   无条件的设置


2. 集群配置 【Cluster management】  

   RAM 和 DISK。。。
   
   purge_queue [-p vhost] {queue}   用于清空某一个队列


3. 用户管理 User management

    add_user {username} {password}

    set_user_tags {username} {tag ...}   设置users的角色

    authenticate_user {username} {password}  验证用户名,密码是否正确


4. Access control
   
   set_permissions [-p vhost] {user} {conf} {write} {read}


5. Parameter Management  【第三方插件比较多】

6. 政策的管理         【Policy Management】   对queue的全局设置用的上这个“政策“,
                        队列的镜像也是用这个命令。
7.服务器状态 【Server Status】

  《1》 list_queues [-p vhost] [queueinfoitem ...]

        rabbitmqctl list_queues name durable exclusive

  《2》 list_exchanges [-p vhost] [exchangeinfoitem ...]

  《3》 list_bindings [-p vhost] [bindinginfoitem ...]

  《4》 list_connections [connectioninfoitem ...]

  《5》 list_channels [channelinfoitem ...]

        connections =》 channels   建立connections是长连接 ,channels是挂在connection之上的。。

   《6》 status

   《7》 environment

   《8》 Miscellaneous 【混合一些命令】 

     

 


**************************从官网参考的命令
应用程序管理:
rabbitmqctl force_reset  无条件重新设置
rabbitmqctl reset    需要在当前rabbitmq关闭服务才能运行
rabbitmqctl shutdown   关闭rabbitmq服务节点
rabbitmqctl start_app    启动reabbitmq服务
rabbitmqctl stop         停止运行RabbitMQ的Erlang节点。
rabbitmqctl stop_app     停止rabbitmq服务

rabbitmqctl hipe_compile /tmp/rabbit-hipe/ebin    对HiPE-compile模块并将它们存储到 / tmp / rabbit-hipe / ebin目录
rabbitmqctl rotate_logs  此命令启动内部日志轮换过程
rabbitmqctl wait /var/run/rabbitmq/pid   当RabbitMQ节点启动时,此命令将返回

集群管理
rabbitmqctl join_cluster hare@elena --ram   此命令指示RabbitMQ节点加入“hare@elena (作为master)”所属的群集,作为ram节点 ,当前作为slave
rabbitmqctl cluster_status    集群的节点状态
rabbitmqctl change_cluster_node_type disc/ram  修改集群节点作为ram还是disc
rabbitmqctl -n hare@mcnulty forget_cluster_node rabbit@stringer  删除集群中指定的节点 此命令将从节点“ hare @ mcnulty ”中删除节点“ rabbit @ stringer ”
rabbitmqctl rename_cluster_node rabbit@misshelpful rabbit@cordelia  此命令将节点“ rabbit @ misshelpful ” 重命名为节点“ rabbit @ cordelia ”

rabbitmqctl  update_cluster_nodes -n A C. 对该命令的需求是由于在节点离线时集群可以改变的事实。考虑节点 A和B 聚类的情况。A下降, C群集与 B,然后 B离开群集。当 A醒来时,它会尝试联系 B,但这会失败,因为 B不再在群集中。以下命令将解决此问题
rabbitmqctl force_boot
sync_queue [-p vhost] queue  同步队列
cancel_sync_queue [-p vhost] queue   取消队列同步
purge_queue [-p vhost] queue   清空队列

rabbitmqctl set_cluster_name london   这会将群集名称设置为“london”

用户管理
rabbitmqctl add_user janeway changeit  添加
rabbitmqctl delete_user janeway        删除
rabbitmqctl change_password janeway newpass  修改密码
rabbitmqctl clear_password janeway  清空密码
rabbitmqctl authenticate_user janeway verifyit 验证用户名密码
rabbitmqctl set_user_tags janeway administrator   此命令指示RabbitMQ代理确保名为“janeway”的用户是管理员
rabbitmqctl set_user_tags janeway    指示RabbitMQ代理从名为“janeway”的用户中删除任何标记
rabbitmqctl list_users  用户列表

访问控制
rabbitmqctl add_vhost test  此命令指示RabbitMQ代理创建名为“test”的新虚拟主机
rabbitmqctl delete_vhost test  此命令指示RabbitMQ代理删除名为“test”的虚拟主机
rabbitmqctl list_vhosts name tracing   此命令指示RabbitMQ代理列出所有虚拟主机
rabbitmqctl set_permissions -p my-vhost janeway “^janeway-.*” “.*” “.*”     此命令指示RabbitMQ代理向名为“janeway”的用户授予对名为“my-vhost”的虚拟主机的访问权限,并对名称以“janeway-”开头的所有资源具有配置权限,并具有写入和读取权限。所有资源:
rabbitmqctl clear_permissions -p my-vhost janeway  此命令指示RabbitMQ代理拒绝名为“janeway”的用户访问名为“my-vhost”的虚拟主机
rabbitmqctl list_permissions -p my-vhost  此命令指示RabbitMQ代理列出已被授予对名为“my-vhost”的虚拟主机的访问权限的所有用户,以及他们对该虚拟主机中资源的操作所具有的权限。请注意,空字符串表示没有授予权限:
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}-.*”
rabbitmqctl clear_topic_permissions -p my-vhost janeway amq.topic  此命令指示RabbitMQ代理删除名为“janeway”的用户的主题权限,用于名为“my-vhost”的虚拟主机中的主题交换“amq.topic”:
rabbitmqctl list_topic_permissions -p my-vhost  此命令指示RabbitMQ代理列出已在虚拟主机中被授予主题权限的所有用户,名为“my-vhost:”
rabbitmqctl list_topic_user_permissions janeway 此命令指示RabbitMQ代理列出已授予用户名为“janeway”的所有虚拟主机,以及用户在这些虚拟主机中拥有的主题权限

参数管理
 

  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值