作者:用户3w7mnpewca | 来源:互联网 | 2023-05-26 20:03
一 环境搭建首先,由于RabbitMQ使用Erlang编写的,需要运行在Erlang运行时环境上,所以在安装RabbitMQ Server之前需要安装Erlang 运行时环境,可以到Erlang官网下
一 环境搭建
首先,由于RabbitMQ使用Erlang编写的,需要运行在Erlang运行时环境上,所以在安装RabbitMQ Server之前需要安装Erlang 运行时环境,可以到Erlang官网下载对应平台的安装文件。如果没有安装运行时环境,安装RabbitMQ Server的时候,会提示需要先安装Erlang环境。 安装完成之后,确保已经将Erlang的安装路径注册到系统的环境变量中。安装完Erlang之后,这个环境会自动设置,如果没有,在administrator环境下在控制台下面输入,也可以设置:
Setx ERLANG_HOME “D:\Program Files (x86)\erl6.3″
然后,去RabbitMQ官网下载RabbitMQ Server服务端程序,选择合适的平台版本下载。安装完成之后,就可以开始使用了。
现在就可以对RabbitMQ Server进行配置了。
首先,切换到RabbitMQ Server的安装目录:
在sbin下面有很多batch文件,用来控制RabbitMQ Server,当然您也可以直接在安装开始菜单中来执行相应的操作:
最简单的方式是使RabbitMQ以Windows Service的方式在后台运行,所以我们需要以管理员权限打开cmd,然后切换到sbin目录下,执行这三条命令即可:
rabbitmq-service install
rabbitmq-service enable
rabbitmq-service start
现在RabbitMQ的服务端已经启动起来了。
下面可以使用sbin目录下面的rabbitmqctl.bat这个脚本来查看和控制服务端状态的,在cmd中直接运行rabbitmqctl status。如果看到以下结果:
显示node没有连接上,需要到C:\Windows目录下,将.erlang.COOKIE文件,拷贝到用户目录下 C:\Users\{用户名},这是Erlang的COOKIE文件,允许与Erlang进行交互,如果执行后提示一下错误
再次执行rabbitmqctl status命令,此时报了另一个错误:
可能是登录账号的问题,我是用administrator账号登录服务器并安装rabbitmq的,rabbitmq也自动在C:\user\administrator下创建了一个.erlang.COOKIE文件,但是RabbitMQ服务启动的时候,执行者是local system account,如下图所示:
此时,我想到将RabbitMQ服务的启动账号改成administrator,果然,更改后重启服务,再次执行rabbitmqctl status,成功!具体操作如下图所示:
现在重复运行刚才的命令就会得到如下信息:
RabbitMQ Server上面也有用户概念,安装好之后,使用rabbitmqctl list_users命令,可以看到上面目前的用户:
可以看到,现在只有一个角色为administrator的名为guest的用户,这个是RabbitMQ默认为我们创建的,他有RabbitMQ的所有权限,一般的,我们需要新建一个我们自己的用户,设置密码,并授予权限,并将其设置为管理员,可以使用下面的命令来执行这一操作:
rabbitmqctl add_user yy hello!
rabbitmqctl set_permissions yy ".*" ".*" ".*"
rabbitmqctl set_user_tags yy administrator
上面的一条命令添加了一个名为yy的用户,并设置了密码hello!,下面的命令为用户yy分别授予对所有消息队列的配置、读和写的权限。
现在我们可以将默认的guest用户删掉,使用下面的命令即可:
rabbitmqctl delete_user guest
如果要修改密码,可以使用下面的命令:
rabbitmqctl change_password {username} {newpassowrd}
具体RabitMQ使用代码我就不说了 网上有很多教程