说明
在CentOS7安装RabbitMQ是一件坑的事,有很多坑,首先yum源默认的erlang版本太低,其次,安装erlang版本也是各种坑 ,erlang版本需要与rabbit版本对应,否则不能安装,下面记录安装成功需要的填的坑 :
版本选择
目前安装RabbitMQ官方的链接安装erlang会报https302的错误,kenegn 是下载地址被墙的原因,因此选择Erlang官方的安装包进行安装比较靠谱点
Erlang版本
官网地址 下载页面
16以前版本以类似 【R16B03】 形式命名(yum目前自带的就是16以前的版本),17开始以 【OTP 19.0】 形式命名。所以需要从官网选择相应的版本下载安装,安装Erlang容易成功,但是有很多坑,因为缺少相应的依赖库也会安装成功,但是rabbit安装完成后无法启动。
安装
1. 安装Erlang依赖
#安装gcc,c++,gtk2+环境
yum install gcc g++ gcc-c++ gdb make
yum -y install gtk2 gtk2-devel gtk2-devel-docs
#安装相应依赖包
yum install openssl yum install openssl-devel
yum install fop fop-devel
yum install unixODBC-devel
yum install ncurses-devel
#安装asn1
wget https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.13.tar.gz
tar zxvf libtasn1-4.13.tar.gz
cd libtasn1-4.13
./configure --prefix=/usr --disable-static && make
make install
#安装opengl
yum list mesa*
yum install mesa*
#安装glk2.0+
yum install libgnomeui-devel
#安装wxWidgets
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.4/wxWidgets-3.0.4.tar.bz2
yum install bzip2
tar -xjf wxWidgets-3.0.4.tar.bz2
cd wxWidgets-3.0.4
./configure --with-opengl --enable-debug --enable-unicode
make
make install
2. 安装Erlang
#安装Erlang
wget
tar zxvf otp_src_19.3.tar.gz
cd otp_src_19.3
./configure --without-javac
#此处报错也能安装成功,但是安装成功后rabbitmq无法启动,因此这里需要把所有依赖都安装成功才行
make
make install
3. 安装rabbitmq-server
#安装rabbitmq-server
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.7.6-1.el7.noarch.rpm/download.rpm
rpm -ivh rabbitmq-server-3.7.6-1.el7.noarch.rpm
#启动rabbitmq-server
systemctl start rabbitmq-server
#查看状态
rabbitmqctl status
#列出用户
rabbitmqctl list_users
#添加用户
rabbitmqctl add_user admin admin
#设置用户类型
rabbitmqctl set_user_tags admin administrator
#重启rabbitmq-server
systemctl restart rabbitmq-server
#开启远程管理界面插件
rabbitmq-plugins enable rabbitmq_management
#查看rabbit启动信息
journalctl -xe
#查看wxWidgets是否安装成功
wx-config --version
4. 错误解决
ERROR: epmd error for host iZ28flc696wZ: timeout (timed out)
错误界面
安装完rabbitmq-server,重启时间很长,并且报错ERROR: epmd error for host “yourhostname”: timeout
原因:主机名和ip不匹配,需要更改hostname或者/etc/hosts文件
解决办法:修改主机名:#hostname yourhostname 要跟/etc/hosts文件中一致。
更多RabbitMQ相关教程见以下内容:
CentOS 7.2 下 RabbitMQ 集群搭建 https://www.linuxidc.com/Linux/2016-12/137812.htm
CentOS7环境安装使用专业的消息队列产品RabbitMQ https://www.linuxidc.com/Linux/2016-11/13673.htm
RabbitMQ入门教程 https://www.linuxidc.com/Linux/2015-02/113983.htm
在CentOS7上安装RabbitMQ 详解 https://www.linuxidc.com/Linux/2017-05/143765.htm
NServiceBus 结合 RabbitMQ 使用教程 https://www.linuxidc.com/Linux/2017-05/143787.htm
CentOS 7下RabbitMQ集群安装配置 https://www.linuxidc.com/Linux/2017-10/147707.htm
RabbitMQ实战:高效部署分布式消息队列 中文PDF扫描版 https://www.linuxidc.com/Linux/2017-10/147592.htm
CentOS7上RabbitMQ安装详述 https://www.linuxidc.com/Linux/2017-12/149202.htm
RabbitMQ分布式集群架构和高可用性(HA) https://www.linuxidc.com/Linux/2017-12/149466.htm
CentOS 7下安装配置RabbitMQ详细教程 https://www.linuxidc.com/Linux/2018-01/150600.htm
RabbitMQ在CentOS 7中安装配置教程 https://www.linuxidc.com/Linux/2018-04/151796.htm