最近在学习消息中间件——RabbitMQ,打算把这个学习过程记录下来。此章主要介绍环境搭建。此次主要是单机搭建(条件有限),包括在Windows、Linux环境下的搭建,以及RabbitMQ的监控平台搭建。
在搭建RabbitMQ之前,请先确保如下环境已经搭建完毕
没有搭建的同学走传送门:
JDK环境搭建: JAVA8环境搭建
Maven环境搭建: Windows环境下使用Nexus 3.X 搭建Maven私服及使用介绍
Git环境搭建:Git环境搭建及配置
需要分别下载erlang与RabbitMQ安装包,进行安装。如果有遇到官方网站打不开的情况,可以扫描下方二维码关注公众号:Coder编程 回复RabbitMQ可以获取安装文件。
原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。
目前最新版本是:22.0
下载完后,会得到如下安装包
安装完成之后,我们再来配置下环境变量。
电脑–>鼠标右键“属性”–>高级系统设置–>环境变量–>“新建”系统环境变量
变量名:ERLANG_HOME 变量值就是刚才erlang的安装地址,点击确定。然后双击系统变量path
点击“新建”,将%ERLANG_HOME%\bin加入到path中
最后windows键+R键,输入cmd,再输入erl,看到版本号就说明erlang安装成功了。
下载地址:Downloading and Installing RabbitMQ — RabbitMQ
安装目录:E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.16
然后在后面输入rabbitmq-plugins enable rabbitmq_management命令进行安装
打开sbin目录,双击rabbitmq-server.bat
输入地址:http://localhost:15672/
显示图形界面及为成功!
输入 rabbitmq-plugins enable rabbitmq_management命令,之后启动 rabbitmq-service.bat 失败
建议:
Linux环境安装RabbitMQ有两种安装方式:一种yum安装方式,一种编译安装方式。对于新手,推荐:yum安装方式
以下以yum安装方式进行介绍。
RabbitMQ官网下载地址:RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ
注意事项
erlang的版本会影响到rabbitmq的安装,两者有个版本对照。查看对照的地址:RabbitMQ Erlang Version Requirements — RabbitMQ
可以参考以下文章:
linux下jdk的安装(两种方式)-CSDN博客
firewall-cmd –permanent –add-port=5672/tcp
firewall-cmd –reload
setsebool -P nis_enabled 1 (关闭selinux)
rabbitmq所需要的依赖包
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
以上必须按顺序进行安装,否则会报错!
注意修改: vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app文件
修改:loopback_users 中的 <<“guest”>>,只保留guest
修改:heartbeat 为1
## 启动rabbitmq服务
/etc/init.d/rabbitmq-server start
## 停止rabbitmq服务
/etc/init.d/rabbitmq-server stop
## 查看rabbitmq服务状态
/etc/init.d/rabbitmq-server status
## 重启rabbitmq服务
/etc/init.d/rabbitmq-server restart
## 查看服务有没有启动
lsof -i:5672 或者 netstat -tnlp|grep 15672
rabbitmq-plugins enable rabbitmq_management
安装完毕后,需要重启服务。
之后就可以通过http://ip:15672
使用guest,guest 进行登陆web页面了。
安装过程中,遇到过以下坑:
BOOT FAILED
===========
Error description:
{error,{missing_dependencies,[compiler],[mochiweb]}}
Log files (may contain more information):
/var/log/rabbitmq/[email protected]
/var/log/rabbitmq/[email protected]
Stack trace:
[{rabbit_plugins,ensure_dependencies,1,
[{file,"src/rabbit_plugins.erl"},{line,176}]},
{rabbit_plugins,prepare_plugins,1,
[{file,"src/rabbit_plugins.erl"},{line,195}]},
{rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,280}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,403}]},
{init,start_it,1,[]},
{init,start_em,1,[]}]
{"init terminating in do_boot",{error,{missing_dependencies,[compiler],[mochiweb]}}}
/usr/lib/rabbitmq/bin/rabbitmq-server: 行 236: 105442 用户定义信号 2 start_rabbitmq_server "$@"
找了半天也没找到解决方案,直接卸载重新再安装一遍就好了,也行中间有操作失误的地方。
/sbin/service rabbitmq-server stop
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarch
yum list | grep erlang
yum -y remove erlang-*
yum remove erlang.x86_64
rm -rf /usr/lib64/erlang
rm -rf /var/lib/rabbitmq