在使用https://localhost:15671/stomp
访问stomp时,提示版本错误,猜测是erlang的版本问题
rabbitmq的版本和erlang的版本需要匹配一致:
https://www.rabbitmq.com/which-erlang.html
问题就在这里,只要版本匹配了就没有问题
最后成功的版本是:rabbitmq 3.6.15 erlang19.3
15674和15671 两个端口都可以访问
erlang 19.3 安装
1.下载otp_src_19.3.tar.gz
2.解压后./configure
3.make && make install
4.配置环境变量
vi /etc/profile
添加配置:
ERL_PATH=/usr/local/erlang/bin
PATH=$ERL_PATH:$PATH
source /etc/profile 使配置生效,在shell中使用
检查erlang的版本号
erl
通过配置文件,脚本生成相关证书。
生成服务端证书和客户端证书的脚本,以及配置文件的配置,参考价值一般。
这一个是最全的关于证书的生成配置
web-stomp配置https后不生效的问题解决
常用的命令汇总
rabbitmq登录的权限,主要是通过erlang.cookie进行控制的,可以替换这个文件来保证访问控制。
rabbitmq 安装的时候报错:erlang >= R16B-03 is needed by rabbitmq
这篇文章解决socat找不到的版本问题,安装epel的扩展源即可。
rabbitmq的一条消息,发送到交换机,再到队列,只能被监听这个队列的多个消费者中一个消费到,如果要实现多个消费者都能消费到,那只能是通过交换机和队列变通的方式来实现。创建匿名队列,都绑定到一个交换机,在交换机这一端就能控制往多个队列发送,这样相当于多个消费者消费同一个消息,是监听了不同的队列。