RabbitMQ官网 http://www.rabbitmq.com

下载地址 http://www.rabbitmq.com/download.html

一 Windows下安装RabbitMq

1.1 下载安装包

1.1.1 下载RabbitMq

安装参考 http://www.rabbitmq.com/install-windows.html

官网上说明,在windows上安装rabbitmq-server时,需要先安装Erlang Windows Binary File,如果Windows环境中曾经装过32位的,现在要升级为64位的,必须先卸载。官网原话

If you have an existing installation and are planning to upgrade the Erlang VM from a 32bit to a 64bit version then you must uninstall the broker before upgrading the VM. 

1.1.1 下载Erlang

Erlang 下载安装地址 http://www.erlang.org/downloads

关于Erlang的介绍请参考文章

http://blog.csdn.net/zzhongcy/article/details/38823197

1.2 安装Erlang

1.2.1 运行安装

下载otp_win64_19.2.exe

运行安装otp_win64_19.2.exe

1.2.2 修改环境变量

1) 添加系统环境变量ERLANG_HOME,值为安装目录.

2) 修改系统环境变量Path,在PATH变量中添加“%ERLANG_HOME%\bin”

3) 重启电脑后,在控制台输入 erl,如果出现类似“Eshell V6.1 (abort with ^G)”字样,说明安装成功。

**官方说明上没有这块,试了下,不设置环境变量也是可以运行RabbitMQ的**

1.3 安装RabbitMq

1.3.1 运行安装

下载rabbitmq-server-3.6.6.exeWindows版本

运行安装rabbitmq-server-3.6.6.exe

1.3.2 运行服务

rabbitMq默认自启动

可以修改rabbitmq的配置文件,也可以用默认配置运行。在开始菜单栏里可以看到运行指令reinstall/remove/start/stop

或者直接打开RabbitMQ Command Prompt命令框。

1.3.3 端口号访问

当防火墙或者其他安全工具阻止RabbitMQ端口号绑定时,服务启动会失败。确保下列端口可以打开:

4369 (epmd)

5672, 5671 (AMQP 0-9-1 and 1.0 without and with TLS)
25672. This port used by Erlang distribution for inter-node and CLI tools communication and is allocated from a dynamic range (limited to a single port by default, computed as AMQP port + 20000). See networking guide for details.
15672 (if management plugin is enabled)

61613, 61614 (if STOMP is enabled)

1883, 8883 (if MQTT is enabled)

1.3.4 默认用户访问

该代理创建了一个默认的账号“guest”密码“guest”的访问账号。未配置的客户端默认使用该账号凭据,但仅限于访问本地。如果是网络访问则需要另外配置。其他用户访问参考访问控制文档

1.3.5 管理服务

使用rabbitmqctl 管理服务,参见官方文档

http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

 -n node 默认node名称是"rabbit@server",如果你的主机是'server.example.com',那么node名是rabbit@server

-q 安静输出模式,信息会被禁止输出

rabbitmqctl [-n node] [-t timeout] [-q] {command} [command options...]
1.3.5.1 基本管理功能
stop [<pid_file>]  

#停止在erlang node上运行的rabbitmq,会使rabbitmq停止

stop_app
#停止erlang node上的rabbitmq的应用,但是erlang node还是会继续运行的

start_app

#启动erlan node上的rabbitmq的应用

wait <pid_file>

#等待rabbitmq服务启动

reset

#初始化node状态,会从集群中删除该节点,从管理数据库中删除所有数据,例如vhosts等等。在初始化之前rabbitmq的应用必须先停止

force_reset

#无条件的初始化node状态

rotate_logs <suffix>

#轮转日志文件
1.3.5.2 cluster管理
join_cluster <clusternode> [--ram]  

#clusternode表示node名称,--ram表示node以ram node加入集群中。默认node以disc node加入集群,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app。

cluster_status

#显示cluster中的所有node

change_cluster_node_type disc | ram

#改变一个cluster中node的模式,该节点在转换前必须先停止,不能把一个集群中唯一的disk node转化为ram node

forget_cluster_node [--offline]

#远程移除cluster中的一个node,前提是该node必须处于offline状态,如果是online状态,则需要加--offline参数。

update_cluster_nodes clusternode

#

sync_queue queue

#同步镜像队列

cancel_sync_queue queue

#
1.3.5.3 用户管理
add_user <username> <password>  

#在rabbitmq的内部数据库添加用户

delete_user <username>

#删除一个用户

change_password <username> <newpassword>

#改变用户密码 \\改变web管理登陆密码

clear_password <username>

#清除用户密码,禁止用户登录

set_user_tags <username> <tag> ...

#设置用户tags

list_users

#列出用户

add_vhost <vhostpath>

#创建一个vhosts

delete_vhost <vhostpath>

#删除一个vhosts
list_vhosts [<vhostinfoitem> ...]

#列出vhosts

set_permissions [-p <vhostpath>] <user> <conf> <write> <read>

#针对一个vhosts 给用户赋予相关权限

clear_permissions [-p <vhostpath>] <username>

#清除一个用户对vhosts的权限

list_permissions [-p <vhostpath>]

#列出哪些用户可以访问该vhosts

list_user_permissions <username>

#列出该用户的访问权限

set_parameter [-p <vhostpath>] <component_name> <name> <value>

#

clear_parameter [-p <vhostpath>] <component_name> <key>

#

list_parameters [-p <vhostpath>]

#
1.3.5.4 policy管理

policy管理,策略用来控制和修改queues和exchange在集群中的行为,策略可以应用到vhost

set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>]
<name> <pattern> <definition>

#name 策略名称,pattern 正则表达式,用来匹配资源,符合的就会应用设置的策略,apply-to 表示策略应用到什么类型的地方,一般有queues、exchange和all,默认是all。priority 是个整数优先级,definition 是json格式设置的策略。
clear_policy [-p <vhostpath>] <name>

#清除一个策略

list_policies [-p <vhostpath>]

#列出已有的策略
1.3.5.5 queue&exchange状态信息
list_queues [-p <vhostpath>] [<queueinfoitem> ...]
#返回queue的信息,如果省略了-p参数,则默认显示的是"/"vhosts的信息。

list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]

#返回exchange的信息。

list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]

#返回绑定信息。

list_connections [<connectioninfoitem> ...]

#返回链接信息。

list_channels [<channelinfoitem> ...]

#返回目前所有的channels。

list_consumers [-p <vhostpath>]

#返回consumers,

status

#显示broker的状态

environment

#显示环境参数的信息
report

#返回一个服务状态report,

eval <expr>

1.3.6 插件管理

rabbitmq支持各种插件,开启插件可以使用rabbitmq-plugins命令

rabbitmq-plugins <command> [<command options>]

Commands:

list [-v] [-m] [-E] [-e] [<pattern>] 显示所有的的插件。-v 显示版本 -m 显示名称 -E 显示明确已经开启的 -e显示明确的和暗中开启的

enable <plugin> ... 开启一个插件

disable <plugin> ... 关闭一个插件

如图,启动插件后重启服务,在浏览器打开http://localhost:15672

登录,用户名密码都是guest

1.3.7 服务日志

服务日志记录在RABBITMQ_NODENAME.log,在文件夹RABBITMQ_LOG_BASE中。其他的日志记录在RABBITMQ_NODENAME-sasl.log.

rabbitmqctl rotate_logs {stuffix}
指示RabbitMQ node循环日志文件. RabbitMQ 中间件会将原来日志文件中的内容追加到原始名称和后辍的日志文件中,然后再将原始日志文件内容复制到新创建的日志上。实际上,当前日志内容会移到以此后辍结尾的文件上。当目标文件不存在时,将会进行创建。如果不指定后辍,则不会发生循环,日志文件只是重新打开。
rabbitmqctl rotate_logs.1
此命令指示RabbitMQ node将日志文件的内容追加到新日志文件(文件名由原日志文件名和.1后辍构成)中。如. rabbit@mymachine.log.1 和 rabbit@mymachine-sasl.log.1. 最后, 日志会在原始位置恢复到新文件中.

Window下安装使用RabbitMQ的更多相关文章

  1. window下安装 node ,并搭建 vue 项目

    uname -a  命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系统, i686 i386表示32位系统) window下安装node 1.在官网上选择对应的位数的msi安装 ...

  2. window下安装cross-env解决NODE_ENV ts-node 不是内部或外部命令,也不是可运行的程序 或批处理文件 问题

    window下安装cross-env解决NODE_ENV ts-node 不是内部或外部命令,也不是可运行的程序 或批处理文件 问题 在git bash上启动无法进行调试,采用cross-env后可以 ...

  3. Window 下安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  4. Window 下安装 Redis

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 一.Window 下安装 redis https://github.com/MicrosoftArchive/r ...

  5. window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error

    window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error 解决: 如果没有配置环境,在安 ...

  6. 在linux下安装配置rabbitMQ详细教程

    在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...

  7. window下安装rsyncServer

    window下安装rsyncServer---------------------------------1. 解压cwRsyncServer_4.0.5_Installer.zip,安装. 2. 复 ...

  8. nginx(Window下安装 & 配置文件参数说明 & 实例)

    一.为什么需要对Tomcat服务器做负载均衡:  Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站 ...

  9. window下安装php7的memcache扩展

    安装memcache:http://www.runoob.com/memcached/memcached-connection.html1.4.4 c:\memcached\memcached.exe ...

随机推荐

  1. 关于poi的坑

    背景故事 今天遇上一个坑,关于poi公式计算结果出错的问题,自己打断点debug了半天,虽然没彻底搞清楚为啥不行,但所幸找到了解决办法. 干货 下面不废话,直接贴干货,原先的公式处理代码如下: fin ...

  2. JZOJ 5771. 【NOIP2008模拟】遨游

    5771. [NOIP2008模拟]遨游 (File IO): input:trip.in output:trip.out Time Limits: 2000 ms  Memory Limits: 2 ...

  3. BFS:胜利大逃亡

    解题心得: 1.水题,主要主意好一个点就好. 2.注意x.y.z坐标的选取就好. 题目: Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城 ...

  4. mysql之处理金钱小数点后的多余0

    问题产生原因:我们在做基金项目   产生大量的金钱  在GP首页展示首页信息的时候要求去除多余的0   由于我们在数据库设计的时候查询返回数据 例如18.100000 这种形式  而我们需要将多余的0 ...

  5. logback mybatis 打印sql语句

    logbac.xml 文件的基础配置参考的园友的 http://www.cnblogs.com/yuanermen/archive/2012/02/13/2349609.html 然后hibernat ...

  6. 【清华集训】小Y和地铁

    图已挂,前往luogu 题目: 小 $\rm Y$ 是一个爱好旅行的 $\rm OIer$.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁.她发现每条地铁线路可以看成平面上的一条 ...

  7. android adb常用指令

    介绍一个更详细的介绍ADB的: https://github.com/mzlogin/awesome-adb/blob/master/README.md ----------------------- ...

  8. Mac 因误使用chmod -R 777 命令更改 /usr/bin 造成终端不能实用,提醒进程已结束的完美解决方案!

    1.不用删除任何文件. 2.启动root用户权限 4.在用root用户登进去 5.在root用户中使用终端输入命令 chown root:wheel /usr/bin/login chmod u+s ...

  9. CSU-2172 买一送一

    CSU-2172 买一送一 Description ICPCCamp 有 n 个商店,用 1, 2, -, n 编号.对于任意 i > 1,有从商店 \(p_i\) 到 i 的单向道路. 同时, ...

  10. Codeforces 1139D(期望dp)

    题意是模拟一个循环,一开始有一个空序列,之后每次循环: 1.从1到m中随机选出一个数字添加进去,每个数字被选的概率相同. 2.检查这个序列的gcd是否为1,如果为1则停止,若否则重复1操作直至gcd为 ...