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