一、安裝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>]