RabbitMQ的安装、配置与启动

前言

环境介绍:Centos 7 + RabbitMQ:3.6.12 + Erlang:20.0

安装erlang

由于RabbitMQ使用erlang语言编写的,所以要先安装erlang语言环境。但是yum源里的erlang版本太老了,于是这里选择手动安装,使用Erlang官方推荐的Erlang Solutions安装方法如下:

1
2
3
4
yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64		#先把其他模块准备好
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc

此时,查看/etc/yum.repos.d/erlang_solutions.repo,应该是这个样子:

1
2
3
4
5
6
[erlang-solutions]
name=CentOS $releasever - $basearch - Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1

这个时候可以yum安装了:

1
yum install -y esl-erlang

此时得到的erlang就是20.0版本的了,如图:
paradin

如果不想使用这个办法,可以使用源码安装的方式,https://packages.erlang-solutions.com/erlang/ 这里面有Erlang官方的下载包,拆包解压缩然后make && make install即可。

安装RabbitMQ

安装RabbitMQ跟其他普通软件差不多,先去官网下载目前较稳定的rpm包,然后安装,步骤如下:

1
2
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.4/rabbitmq-server-3.7.4-1.el7.noarch.rpm
yum install -y rabbitmq-server-3.7.4-1.el7.noarch.rpm

如果出现了Transaction Check Error的错误:
paradin

可见是要安装的包与已有的包相冲突,此时需要yum list|grep erlang,如图:

paradin
yum remove esl-erlang.x86_64,然后重新执行yum install那一步即可。

如果出现Requires: socat的错误,如图:
paradin

此时需要执行如下命令即可:

1
2
yum -y install epel-release
yum -y install socat

配置RabbitMQ

RabbitMQ安装完毕,先chkconfig rabbitmq-server on设置开机启动。然后,配置一下用户名。我这个机器的用户名不规范,需要把hostname里的中文去掉,比如改成:3-dvl-hlsproxy-001,那么就要在/etc/hosts里添加一句:

内网IP地址 3-dvl-hlsproxy-001

然后执行rabbitmq-plugins enable rabbitmq_management来安装WEB图形界面,然后拷贝rabbitmq.config.example/etc/rabbitmq/里,并且改名叫rabbitmq.config,命令如下:

1
2
3
cp /usr/share/doc/rabbitmq-server-3.7.4/rabbitmq.config.example /etc/rabbitmq/
cd /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config

编辑rabbitmq.config这个文件,把%%{loopback_users, []}.改成{loopback_users, []},保存之后,执行service rabbitmq-server restart来启动RabbitMQ。

如果启动之后,执行rabbitmqctl status不断的刷Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces的错误的话,执行chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

在浏览器里登录外网IP:15672就会看到RabbitMQ的WEB配置界面了,
paradin

账号和密码都是guest,输入之后就会看到如下的界面,可以在界面里看到3-dvl-hlsproxy-001的情况了,如图:
paradin

RabbitMQ 3.0以后版本的WEB端口是15672,服务的端口是5672,这俩都可以在配置文件里面更改。至此RabbitMQ的安装与配置结束了,但是这个仅仅是最简单的配置,RabbitMQ自身有一套很详细的用户管理规则以及它支持Python等很多语言的管理,这些内容以后再详细说明。

参考资料

https://packages.erlang-solutions.com/erlang/
https://laucyun.com/9849587ce75f31d534d52f906c94368f.html
https://www.rabbitmq.com/access-control.html

paradin

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------