一、安装Erlang环境
由于RabbitMQ是用Erlang编写的,所以在安装RabbitMQ之前需要先安装Erlang语言环境
安装Erlang的常用方法有2种:APT/RPM包安装、编译源码安装
使用APT/RPM包安装十分方便,下载并运行安装包或者是直接执行安装命令即可。
例如在Ubuntu上使用APT安装Debian包
$ sudo apt-get install erlang
但是很多时候,大家可能为了方便管理等诸多方面的原因,更愿意选择编译安装
1、获取并解压Erlang
$ wget http://erlang.org/download/otp_src_20.0.tar.gz
$ sudo tar -zxvf ./otp_src_20.0.tar.gz
2、编译安装
在执行configure文件进行配置的时候可以带上 prefix 参数指定安装路径
$ cd ./otp_src_20.0
$ sudo ./configure --prefix=/opt/erlang-20.0
$ sudo make & make install
在部署、编译时可能会因为缺少依赖而导致失败,如果出现这种情况,将依赖文件装上即可。
例如在执行./configure时提示缺少 ncurses-devel
configure: error: No curses library functions found
Linux几乎每个发行版都会有 ncurses 及 ncurses-devel 的安装包,但是需要注意的是,在Ubuntu中 ncurses-devel 是以“libncurses5-dev”命名的
$ sudo apt-get install libncurses5-dev
安装Erlang的时候可能会出现以下警告信息,这是一些并非必须的依赖,并不影响Erlang使用;当然,如果要用使用到这些应用,就必须装好依赖
*********************************************************************
********************** APPLICATIONS DISABLED **********************
*********************************************************************
jinterface : No Java compiler found
odbc : ODBC library - link check failed
orber : No C++ compiler found
*********************************************************************
安装完Erlang后注意配置环境变量,否则在RabbitMQ会因为无法访问到Erlang而导致安装失败
二、安装RabbitMQ
RabbitMQ也可以通过APT/RPM进行安装
$ sudo apt-get install rabbitmq-server
我们还是直接编译源码进行安装
1、获取并解压RabbitMQ
我们可以通过官网提供的链接点击下载或者使用命令下载。当前最新版本为 3.6.10
RabbitMQ官网地址为 http://www.rabbitmq.com ,相关的版本信息可以在这里找到
$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_10/rabbitmq-server-3.6.10.tar.xz
$ sudo tar -xvf ./rabbitmq-server-3.6.10.tar.xz
2、编译安装
进入到解压出来的 rabbitmq-server-3.6.10 文件夹,能够看到Makefile文件,在进行编译安装前需要对其进行编辑以改变RabbitMQ的安装路径
$ cd ./rabbitmq-server-3.6.10
$ sudo vi ./Makefile
定位到文中 Installation 部分,这里描述的就是安装配置信息。注意,不同版本的Makefile可能存在差异
# --------------------------------------------------------------------
# Installation.
# --------------------------------------------------------------------
.PHONY: manpages web-manpages distclean-manpages
manpages web-manpages distclean-manpages:
$(MAKE) -C $(DEPS_DIR)/rabbit $@ DEPS_DIR=$(DEPS_DIR)
.PHONY: install install-erlapp install-scripts install-bin install-man \
install-windows install-windows-erlapp install-windows-scripts \
install-windows-docs
DESTDIR ?=
PREFIX ?= /usr/local
WINDOWS_PREFIX ?= rabbitmq-server-windows-$(PROJECT_VERSION)
MANDIR ?= $(PREFIX)/share/man
RMQ_ROOTDIR ?= $(PREFIX)/lib/erlang
RMQ_BINDIR ?= $(RMQ_ROOTDIR)/bin
RMQ_LIBDIR ?= $(RMQ_ROOTDIR)/lib
RMQ_ERLAPP_DIR ?= $(RMQ_LIBDIR)/rabbitmq_server-$(PROJECT_VERSION)
从文中能够看得出来,默认是将RabbitMQ安装在 /usr/local/lib/erlang 路径下的。这里直接将值改为指定的路径即可。
例如,假设需要将所有文件安装在/opt/rabbitmq_server-3.6.10 路径下,那么可以这么配置
RMQ_ROOTDIR ?= /opt/rabbitmq_server-$(PROJECT_VERSION)
MANDIR ?= $(RMQ_ROOTDIR)/man
RMQ_BINDIR ?= $(RMQ_ROOTDIR)/bin
RMQ_LIBDIR ?= $(RMQ_ROOTDIR)/lib
RMQ_ERLAPP_DIR ?= $(RMQ_ROOTDIR)
当然,这里只是举个例子,其实为了方便直接将路径写死就可以了
修改完成后保存退出,然后使用命令进行编译安装
$ sudo make
$ sudo make install
3、启动RabbitMQ服务
安装完成后进入到 ${RMQ_ERLAPP_DIR}/sbin ,能够看到这里存放了一些可执行文件。直接执行 rabbitmq-server 即可启动RabbitMQ服务。这里需要注意权限问题,权限不足可能无法启动
$ cd /opt/rabbitmq_server-3.6.10/sbin
$ sudo ./rabbitmq-server
RabbitMQ 3.6.10. Copyright (C) 2007-2016 Pivotal Software, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: /var/log/rabbitmq/rabbit@ubuntu.log
###### ## /var/log/rabbitmq/rabbit@ubuntu-sasl.log
##########
Starting broker...
completed with 0 plugins.