系统环境:centos7.6
erlang版本:22.0.7
rabbitmq-server版本:3.7.17
重要提示
不同版本的rabbitmq需要不同版本的erlang支持,因此,我们需要为不同版本的rabbit选择不同版本的erlang。如何选择erlang?
rabbitmq的安装其实官方文档介绍的已经很清楚了,有兴趣可以直接阅读,下面仅摘取其中一种方法进行安装。
首先安装erlang,这里选择零依赖性erlang,专门为rabbitmq提供的erlang,以下为repo。
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
再次安装rabbitmq,以下是repo。
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
在/etc/yum.repos.d/目录下新建这两个repo,然后使用yum安装即可
yum install erlang
yum install rabbitmq-server
以上repo仅针对centos7,其他版本的安装可以点击对应文档查看。
其他问题
当你启动rabbitmq-server的时候,可能会遇到这种问题
Error: unable to perform an operation on node 'rabbit@XXX'
如果你上网查询,可能会让你添加hosts
echo 本机IP XXX >> /etc/hosts
其中XXX对应rabbit@XXX中的XXX。
是否还有其他的解决办法?
有,是否适应所有就不知道了。如果你细心的话,可能会发现,rabbit@XXX中的XXX其实是hostname,当你hostname中包含有"."的时候,往往hostname并不能完全显示。例如你hostname为10.0.2.25,此时的rabbit@XXX就变为了rabbit@10,第一个.后面的内容就没有了,便导致了host回路无法走通,这也是为什么加入hosts后可以使用的原因,既然如此,我们何不更改hostname。
hostnamectl set-hostname newhostname
把newhostname替换为你需要的hostname即可,记得不要带"."。