RabbitMq的安装部署维护手册(windows)
一、安装RabbitMQ
1.1安装erlang
RabbitMq是erlang语言开发的,erlang又是动态脚本语言,所以RabbitMq需要在erlage的虚拟机上运行。先安装erlang环境,下载链接(本文件目录下有已经下载好的安装文件,可直接安装):http://www.erlang.org/downloads
找到windows installer然后下载安装即可,全部点击“下一步”就行。
设置一下环境变量与PATH路径:
设置环境变量ERLANG_HOME= C:\Program Files\erlx.x.x
添加到PATH %ERLANG_HOME%\bin\
1.2安装RabbitMq
windows环境下的二进制安装文件下载链接(本文件目录下有已经下载好的安装文件,可直接安装):http://www.rabbitmq.com/download.html
找到windows installler,然后下载安装即可。
设置一下环境变量与PATH路径:
设置环境变量RABBITMQ_SERVER= C:\Program Files\rabbitmq_server-x.x.x。
添加到PATH %RABBITMQ_SERVER%\sbin\
RabbitMQ默认安装的监听端口是5672。安装完后,默认是启动的状态,开始菜单里有启动、停止、卸载等菜单,如下图:
1.3检查运行状态
打开命令行命令行,可直接(设置了环境变量)输入 rabbitmqctl status,如果出现以下的图,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了。
1.4可视化管理
运行命令行窗口cmd,这样就可以添加可视化插件了:
输入命令: rabbitmq-plugins enable rabbitmq_management。
查看可视化插件是否成功:在web浏览器中输入地址:http://127.0.0.1:15672/,输入默认账号: guest 密码: guest
就可以登录查看rabbitmq里的资源信息。
需要创建用户、密码,绑定角色时,参考https://www.cnblogs.com/ericli-ericli/p/5902270.html
二、管理RabbiMQ
1.重启RabbitMQ服务
命令:net stop RabbitMQ && net start RabbitMQ
2.用户
查询用户: rabbitmqctl.bat list_users
新增命令: rabbitmqctl.bat add_user username password
更改用户密码:rabbitmqctl change_password userName newPassword
删除用户:rabbitmqctl.bat delete_user username
3.角色
rabbitmq用户角色可分为五类:超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他的
无法登陆管理控制台,通常就是普通的生产者和消费者。
给用户绑定角色,以下为命令:
rabbitmqctl.bat set_user_tags username tag1 tag2 tag3
对于tagx是角色:administrator、monitoring、policymaker、management等,像我们人一样,我们角色除了是公司的员工,还是父母的孩子、子女的爸妈等,用户也可以同时具有多个角色
4.用户权限
等完善
5.完整的命令列表
add_user <username> <password>
add_vhost <vhost>
authenticate_user <username> <password>
await_online_nodes <count> [-t <timeout>]
cancel_sync_queue [-p <vhost>] queue
change_cluster_node_type <disc|ram>
change_password <username> <password>
clear_global_parameter <key>
clear_operator_policy [-p <vhost>] <key>
clear_parameter [-p <vhost>] <component_name> <key>
clear_password <username>
clear_permissions [-p vhost] <username>
clear_policy [-p <vhost>] <key>
clear_topic_permissions [-p vhost] <username> [<exchange>]
clear_vhost_limits [-p <vhost>]
close_all_connections [-p <vhost> --limit <limit>] [-n <node> --global] [--per-connection-delay <delay>] <explanation>
close_connection <connectionpid> <explanation>
cluster_status
decode value passphrase [--cipher cipher] [--hash hash] [--iterations iterations]
delete_queue queue_name [--if_empty|-e] [--if_unused|-u] [-t <timeout>]
delete_user <username>
delete_vhost <vhost>
encode value passphrase [--cipher cipher] [--hash hash] [--iterations iterations]
environment
eval <expr>
exec <expr> [--offline]
force_boot
force_reset
forget_cluster_node [--offline] <existing_cluster_member_node>
help <command>
hipe_compile <directory>
join_cluster [--disc|--ram] <existing_cluster_member_node>
list_bindings [-p <vhost>] [<bindinginfoitem> ...] [-t <timeout>]
list_channels [<channelinfoitem> ...]
list_ciphers
list_connections [<connectioninfoitem> ...] [-t <timeout>]
list_consumers [-p vhost] [<consumerinfoitem> ...] [-t <timeout>]
list_exchanges [-p <vhost>] [<exchangeinfoitem> ...] [-t <timeout>]
list_global_parameters [-t <timeout>]
list_hashes
list_operator_policies [-p <vhost>] [-t <timeout>]
list_parameters [-p <vhost>] [-t <timeout>]
list_permissions [-p <vhost>] [-t <timeout>]
list_policies [-p <vhost>] [-t <timeout>]
list_queues [-p <vhost>] [--online] [--offline] [--local] [<queueinfoitem> ...] [-t <timeout>]
list_topic_permissions [-p <vhost>] [-t <timeout>]
list_unresponsive_queues [--local] [--queue-timeout <queue-timeout>] [<unresponsiveq_ueueinfoitem> ...] [-t <timeout>]
list_user_permissions <username> [-t <timeout>]
list_user_topic_permissions <username> [-t <timeout>]
list_users [-t <timeout>]
list_vhost_limits [-p <vhost>] [--global]
list_vhosts [<vhostinfoitem> ...] [-t <timeout>]
node_health_check [-t <timeout>]
ping [-t <timeout>]
purge_queue <queue> [-t <timeout>]
rename_cluster_node <oldnode1> <newnode1> [oldnode2] [newnode2] ...
report
reset
restart_vhost [-p <vhost>] [-t <timeout>]
rotate_logs
set_cluster_name <name>
set_disk_free_limit <disk_limit>
set_disk_free_limit mem_relative <fraction>
set_global_parameter <name> <value>
set_operator_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>
set_parameter [-p <vhost>] <component_name> <name> <value>
set_permissions [-p <vhost>] <username> <conf> <write> <read>
set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>
set_topic_permissions [-p <vhost>] <username> <exchange> <write_pattern> <read_pattern>
set_user_tags <username> <tag> [...]
set_vhost_limits [-p <vhost>] <definition>
set_vm_memory_high_watermark <fraction>
set_vm_memory_high_watermark absolute <value>
shutdown
start_app
status
stop [--idempotent] [<pidfile>]
stop_app
sync_queue [-p <vhost>] queue
trace_off [-p <vhost>]
trace_on [-p <vhost>]
update_cluster_nodes <existing_cluster_member_node_to_seed_from>
wait [<pid_file>] [--pid|-P <pid>] [-t <timeout>]