Rabbitmq的常用命令及其配置

RabbitMQ服务管理

启动服务:rabbitmq-server -detached【 /usr/local/rabbitmq/sbin/rabbitmq-server  -detached 】
查看状态:rabbitmqctl status
关闭服务:rabbitmqctl stop
列出角色:rabbitmqctl list_users
开启某个插件:rabbitmq-pluginsenable xxx
关闭某个插件:rabbitmq-pluginsdisablexxx
注意:重启服务器后生效。

RabbitMQ服务详细配置rabbitmq.config

RabbitMQ 提供了三种方式来定制服务器:

环境变量 
定义端口,文件位置和名称(接受shell输入,或者在环境配置文件(rabbitmq-env.conf)中设置)。 
配置文件 
为服务器组件设置权限,限制和集群,也可以定义插件设置(rabbitmq.config)。 
运行时参数和策略 

可在运行时进行修改集群设置。

  • rabbitmq.config 的位置 
    这些文件的位置分布特定的. 默认情况下,这些文件是没有创建的,但每个平台上期望的位置如下:
    Generic UNIX - $RABBITMQ_HOME/etc/rabbitmq/
    Debian - /etc/rabbitmq/
    RPM - /etc/rabbitmq/
    Mac OS X (Homebrew) - ${install_prefix}/etc/rabbitmq/, the Homebrew prefix is usually/usr/local
    Windows - %APPDATA%\RabbitMQ\

通过WEB管理插件我们也可以看到该配置文件的地址: 

图中的SAAL为System Application Support libraries 系统应用支持库用来记录Erlang相关的信息,举例来说可以通过这个文件看到Erlang的崩溃报告。

默认配置文件rabbitmq.config不存在,需要手动创建:touch /usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config,rabbitmq.config配置文件允许配置RabbitMQ 核心程序, Erlang 服务和RabbitMQ 插件。它是标准的Erlang 配置文件。RabbitMQ在找不到配置文件的情况下会按照默认的配置运行。

通过rabbitmqctl管理RabbitMQ

virtual_host管理

新建virtual_host: rabbitmqctl add_vhost xxx
撤销virtual_host:rabbitmqctl delete_vhost xxx

用户管理

新建用户:rabbitmqctl add_user usernamexxx pwdxxx
删除用户:rabbitmqctl delete_user usernamexxx
改密码: rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
Tag可以为 administrator,monitoring, management

权限管理

rabbitmqctl set_permissions -p / username ".*" ".*" ".*"  //添加权限
rabbitmqctl set_user_tags username administrator  //修改用户角色

权限设置说明:rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read}
Vhostpath:Vhost路径。
user:用户名。
Conf:一个正则表达式match哪些配置资源能够被该用户访问。
Write:一个正则表达式match哪些配置资源能够被该用户读。
Read:一个正则表达式match哪些配置资源能够被该用户访问。

获取服务器状态信息

获取服务器状态:rabbitmqctl status

关闭应用:rabbitmqctl stop_app
启动应用,和上述关闭命令配合使用,达到清空队列的目的:rabbitmqctl start_app
清除所有队列:rabbitmqctl reset

查看所有队列信息:rabbitmqctl list_queues

获取队列信息: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。
转自 https://blog.csdn.net/super_rd/article/details/70327503

猜你喜欢

转载自blog.csdn.net/BingoXing/article/details/81005818