RabbitMQ学习-第九篇 RabbitMQ常用指令

一.服务启动与关闭

rabbitmq启动方式有2种

1、以应用方式启动

后台启动

rabbitmq-server -detached

直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时应用就会停止

rabbitmq-server 

关闭整个节点(包括应用)

rabbitmqctl stop

怎样仅仅关闭应用而不关闭整个节点呢:

因为rabbitmq-server一起启动了节点和应用,它预先设置RabbitMQ应用为standalone模式。要将一个节点加入到现有的集群中,你需要停止这个应用并将节点设置为原始状态,然后就为加入集群准备好了。如果使用./rabbitmqctl stop,应用和节点都将被关闭。所以

仅仅关闭应用

rabbitmqctl stop_app

类似的,启动应用

rabbitmqctl start_app 

2、以服务方式启动(安装完之后在任务管理器中服务一栏能看到RabbtiMq)

安装服务

rabbitmq-service install

开始服务

rabbitmq-service start

停止服务

rabbitmq-service stop

使服务有效

rabbitmq-service enable

使服务无效

rabbitmq-service disable

帮助

rabbitmq-service help

二.管理

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

1、插件管理

开启某个插件

rabbitmq-pluginsenable {plugin_name}

关闭某个插件

rabbitmq-pluginsdisable {plugin_name}

注意:重启服务器后生效。

常用的如:rabbitmq_management

  • 该插件为rabbitmq提供一个基于web管理界面,可以很方便的在浏览器中管理rabbitmq,登录地址默认为localhost:15672,用户名和密码都为guest。
  • 该命令可以列出所有的插件列表,标记为E*
    或e*
    的已经启用的插件,没标记的为未启用插件。

2、virtual_host管理

新建virtual_host

rabbitmqctladd_vhost  {xxx}

撤销virtual_host

rabbitmqctl  delete_vhost {xxx}

3、用户管理

新建用户

rabbitmqctl add_user {username} {password}

删除用户

rabbitmqctl delete_user {username}

改密码

rabbimqctl change_password {username} {newpassword}

设置用户角色(Tag可以为 administrator,monitoring, management)

rabbitmqctlset_user_tags {username} {tag ...}

4、权限管理

权限设置

set_permissions [-pvhostpath] {user} {conf} {write} {read}

vhostpath Vhost路径

user 用户名

conf 一个正则表达式match哪些配置资源能够被该用户访问

write 一个正则表达式match哪些配置资源能够被该用户读

read 一个正则表达式match哪些配置资源能够被该用户访问

5、获取服务器状态信息

服务器状态

rabbitmqctl status

队列信息

rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]

queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,messages_unacknowledged,messages,consumers,memory

Exchange信息

rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]

exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments

Binding信息

rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]

bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

Connection信息

rabbitmqctllist_connections [connectioninfoitem ...]

connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等

Channel信息

rabbitmqctl  list_channels[channelinfoitem ...]

channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

三.rabbitmq配置

一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:

  • 一个是环境变量的配置文件 rabbitmq-env.conf。
  • 一个是配置信息的配置文件 rabbitmq.config。

注意:这两个文件默认是没有的,如果需要必须自己创建。

示例:
rabbitmq-env.conf:
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。

#RABBITMQ_NODE_PORT=    //端口号
#HOSTNAME=
RABBITMQ_NODENAME=mq
RABBITMQ_CONFIG_FILE=        //配置文件的路径
RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径

l#define-environment-variables
rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。
发布了40 篇原创文章 · 获赞 25 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/yym373872996/article/details/105653780