CentOS上安裝RabbitMQ3.6.X
RabbitMQ3.6.1的安裝方法跟以前的版本有點不一樣,我在網上找了很多資料,基本都是3.1左右的版本,而且安裝過程很繁瑣,所以我花了一下午的時間研究如何?最簡安裝。為了讓大家少走彎路,就把安裝過程記錄了下來,也便於以後如果忘記了好查閱。3.6最大的特點就是不用再運行make命令了,而是直接解壓就可以用。下面是具體步驟:
1. 首先下載RabbitMQ,地址為:http://www.rabbitmq.com/install-generic-unix.html。這裡我們下載的是generic unix的版本,下載的檔案名稱為:rabbitmq-server-generic-unix-3.6.1.tar.xz。xz是一個使用LZMA壓縮演算法的無損資料壓縮檔格式,是絕大數linux預設就帶的一個壓縮公用程式。其解壓方式為xz -d {要解壓的檔案名稱},解壓出來是一個tar檔案,我就可以用tar檔案的解壓方法tar -xvf {解壓出來的tar檔案名稱}。
tar解壓出來是一個叫rabbitmq_server-3.6.1的檔案夾,為了便於管理我們把它移動到/usr/local/bin下。
到此為止RabbitMQ的基本安裝就完成了,這個版本是不需要其他額外的編譯和安裝的。
2. 安裝最新版的Erlang,因為RabbitMQ是基於Erlang開發的。記住:一定要用最新的版本,不然啟動RabbitMQ時可能會出錯,這個問題我開始弄了幾個小時才發現是Erlang的版本太低的原因。
去Erlang官網下載最新的Source File檔案,地址是:http://www.erlang.org/downloads
下載下來的檔案名稱為:otp_src_18.2.1.tar.gz,我們用tar -zxvf解壓就可以了。解壓和產生otp_src_18.2.1檔案夾,進入該檔案夾,然後用./configure --prefix=/usr/local/bin/erlang --without-javac來配置,該命令可能會出現很多錯誤,基本都缺少相關的依賴,下面會列出具體的錯誤描述和解決方案。
錯誤1:
Ignoringthe--cache-
file
argumentsinceitcancausethesystemtobeerroneouslyconfigured
Disablingcaching
checkingbuildsystem
type
...x86_64-unknown-linux-gnu
checkinghostsystem
type
...x86_64-unknown-linux-gnu
checking
for
gcc...no
checking
for
cc...no
checking
for
cc...no
checking
for
cl...no
configure:error:noacceptableCcompilerfound
in
$PATH
See`config.log'
for
more
details.
原因:缺少GCC編譯器。解決方案:
yum
install
-ygcc-c++
錯誤2:
checking
for
tgetent
in
-ltinfo...no
checking
for
tgetent
in
-lncurses...no
checking
for
tgetent
in
-lcurses...no
checking
for
tgetent
in
-ltermcap...no
checking
for
tgetent
in
-ltermlib...no
configure:error:Nocurseslibraryfunctionsfound
configure:error:
/bin/sh
'/software/otp_src_18.2.1/erts/configure'
failed
for
erts
原因:未安裝curses。解決方案:
yum-y
install
ncurses-devel
錯誤3:
crypto:NousableOpenSSLfound
jinterface:Javacompilerdisabledbyuser
odbc:ODBClibrary-linkcheckfailed
ssh
:NousableOpenSSLfound
ssl:NousableOpenSSLfound
原因:缺少OpenSSL。解決方案:
yum
install
openssl-devel
錯誤4:
jinterface:Javacompilerdisabledbyuser
odbc:ODBClibrary-linkcheckfailed
原因:缺少ODBC library。解決方案:
yum
install
unixODBC-devel
最後運行make和make insall命令,運行完之後,在/usr/local/bin下面就有erlang檔案夾了。我們先把RabbitMQ和Erlang的可執行檔的路徑加入path中,以便在任何地方都可以執行。這裡我們直接改etc/profile檔案,以便對所有使用者起作用。在profile適當的位置加入:
export
PATH=$PATH:
/usr/local/bin/erlang/bin
:
/usr/local/bin/rabbitmq_server-3
.6.1
/sbin
配完後輸入source /etc/profile讓配置起作用,然後輸入erl,如果出現以下畫面則說明安裝成功。
最後輸入rabbitmq-server,出現以下畫面就說明RabbitMQ啟動成功。
如果要使用WEB管理介面,運行以下命令:
rabbitmq-plugins
enable
rabbitmq_management
WEB管理介面的預設使用者名和密碼都是guest
最後一個問題:我們有可能在啟動RabbitMQ時遇到{ERROR: epmd error for host "****"}錯誤。這是因為你的主機名稱和ip不匹配,必須把當前的hostname放入/etc/hosts檔案中。當RabbitMQ用上面的預設方法安裝後,使用的地址是127.0.0.1,把當前的hostname追加到/etc/hosts檔案中127.0.0.1後面就可以了。
總結:RabbitMQ3.6的版本已經不需要以前那麼複雜的安裝過程,只用安裝好Erlang就可以了。像Python等依賴軟體只要是比較新的Linux發行版本基本都已經整合了。