WIN10 下的erlang + rabbitmq安装,以及遇到的问题

本文主要记录一次WIN10环境下的erlang+rabbitmq的安装(2018.10)。

rabbitMq和activemq不同,它不是专为Java设计的,所以java中要用它需要配置erlang环境。

Erlang/OTP versions older than 19.3 and newer than 20.3.x (including 21.0) are not supported,意思是erlang的19.3(8.3)-20.3(9.3)支持rabbitmq,其他版本不支持。

第一步:安装erlang

安装otp_win64_19.3.exe(我这个是19.3的,20.0和20.1的也装过)

安装成功之后看一下环境变量ERLANG_HOME是否自动生成,没有的话把他加上,然后在PATH里边配置一下,然后去cmd任一目录运行一下erl。

安装成功的话,结果如上图。

如果报错:“不是内部或外部命令”,那就检查一下环境变量,然后重启命令行(改完环境变量一定要重启命令行)。

一般erl安装都比较简单。

第二步:安装RabbitMQ

安装rabbitmq-server-3.7.6.exe。安装目录要没有中文而且尽量浅一点(否则会报奇葩错误,比如我的目录稍微深了一下,运行命令就报错:此时不该有xxx,然后浪费了好长时间)。

1.安装完成之后去rabbitmq的sbin目录下cmd,然后运行rabbitmq-plugins enable rabbitmq_management

意思是启用rabbitmq_management这个插件,插件在sbin同级目录的plugins中。

成功如图:(失败的话请往后看)

D:\RabbitMQ_ERLang\RabbitMQ Server\rabbitmq_server-3.7.6\sbin>rabbitmq-plugins.bat enable  rabbitmq_management

WIN10 下的erlang + rabbitmq安装,以及遇到的问题_第1张图片

2.rabbitmq-plugins enable rabbitmq_stomp

D:\RabbitMQ_ERLang\RabbitMQ Server\rabbitmq_server-3.7.6\sbin>rabbitmq-plugins enable rabbitmq_stomp

WIN10 下的erlang + rabbitmq安装,以及遇到的问题_第2张图片

启用rabbitmq_stomp插件,https://blog.csdn.net/linshi100q/article/details/52822575这个网址是我找的对这个插件的理解,想了解的可以看一下。

3.访问RabbitMQ自带的管理界面(http://127.0.0.1:15672,启用了management插件之后就能用了)页面如下:

WIN10 下的erlang + rabbitmq安装,以及遇到的问题_第3张图片

已有账户是guest,密码同名

4.此外,还想重新建一个用户的话,命令如下

 /** 在rabbitmq的sbin目录下,逐行执行
 rabbitmqctl add_user test test           (add一个test账户,密码test)
 rabbitmqctl set_user_tags test administrator (设置为administrator)
 rabbitmqctl set_permissions -p / test ".*" ".*" ".*" 

WIN10 下的erlang + rabbitmq安装,以及遇到的问题_第4张图片

至此,安装完成,附管理界面:

WIN10 下的erlang + rabbitmq安装,以及遇到的问题_第5张图片

再说一下安装过程中出现的错误:

主要是在运行rabbitmq-plugins enable rabbitmq_management的时候报错

Distribution failed: 
{{:shutdown, {:failed_to_start_child, :net_kernel, 
{:EXIT, :nodistribution}}}, 
{:child, :undefined, :net_sup_dynamic, 
{:erl_distribution, :start_link, [[:rabbitmqcli28, :shortnames], false]}, :permanent, 1000, :supervisor, [:erl_distribution]}}

这时候去看服务里边的RabbitMQ服务(安装完RabbitMQ会自动注册一个自启动的RabbitMQ服务),点击启动,然后显示已启动,刷新一下 就会显示未启动(实际没有启动成功),

然后在命令行sbin目录下执行以下rabbitmq-service start会报如下错误

ERROR: epmd error for host 
Please check your configuration: nxdomain (non-existing domain)

根据这个error可以看到,我安装错误的原因是host名字的问题,nxdomain域名不存在

这时候cmd下运行hostname,看一下自己的主机名,包含汉字,然后改成没有汉字的之后问题解决。

改主机名:计算机>属性>计算机名、域和工作组设置这里的 更改设置>更改  就可以了

因为我们去看上边rabbitmq-plugins enable rabbitmq_management执行成功地图片可以看到:

# LAPTOP-YHCOOKIE是我的主机名
Enabling plugins on node rabbit@LAPTOP-YHCOOKIE

 

修改RabbitMQ服务端口的方法:

默认端口是5672,若是需要修改的话,可进行如下操作:

rabbit目录底下和sbin目录同级的有一个etc,etc下边有rabbitmq.config.example这个是配置文件的样例。复制一个粘贴到etc下边(就是同一个目录下),改名为rabbitmq.config。

文本编辑器打开他,找到%%{tcp_listeners, [5672]},这一行,大概是在第19行左右。

去掉%%,然后把端口改成你想要的。然后去下边找到%%{heartbeat, 60}大概在201行,这个是心跳,去掉百分号和后边的逗号(因为配置之间用逗号隔开,但是会最后一条后边不加逗号)

配置文件的其他项在这就不展开解释了(因为我不懂)。

改好这两条之后,保存一下,然后去配一个环境变量RABBITMQ_CONFIG_FILE,值写到你的目录\etc\rabbitmq为止。

然后用管理员身份运行cmd,去到rabbitmq的sbin下 执行rabbitmq-service stop(停止服务),然后rabbit-service install(更新一下服务,因为我们刚改了配置文件),最后rabbit-service start(启动服务),此时你再去查看rabbitmq启动的端口的话,应该就是你新配置的端口了。

有什么其他问题的话,还希望你能留下评论,我们一块解决。

你可能感兴趣的:(WIN10 下的erlang + rabbitmq安装,以及遇到的问题)