天天看點

rabbitmq 的安裝配置

rabbitmq 的安裝配置分為如下幾步:

1)安裝erlang

2)安裝rabbitmq

3)配置rabbitmq

erlang的安裝

Erlang官網 http://www.erlang.org/download.html下載下傳erlang安裝包

我下載下傳的版本: otp_src_R16B03-1.tar.gz 

然後開始解壓,進入解壓後的檔案夾,執行配置檔案:

[root@ A10050362_Z 150107]# tar –xzvf  otp_src_R16B03-1.tar.gz

[root@ A10050362_Z 150107]# cd otp_src_R16B03-1

[[email protected]_Z otp_src_R16B03-1]#./configure

這個過程1分鐘内結束,編譯後的輸出如下:

*********************************************************************

********************** APPLICATIONS INFORMATION *******************

*********************************************************************

wx             : wxWidgets notfound, wx will NOT be usable

*********************************************************************

[[email protected]_Z otp_src_R16B03-1]#

提示沒有wxWidgets,但是問題不大。繼續:

[[email protected]_Z otp_src_R16B03-1] # make

這個過程時間比較長,耗時13分鐘左右,會有一些告警:

pcre/pcre_exec.c: In function 鈥榤atch.clone.0鈥?

pcre/pcre_exec.c:449: warning: 鈥榬rc鈥?may be useduninitialized in this function

pcre/pcre_exec.c:450: warning: 鈥榠鈥?may be used uninitialized in this function

pcre/pcre_exec.c:451: warning: 鈥榗鈥?may be used uninitialized in this function

pcre/pcre_exec.c:454: warning: 鈥榤inimize鈥?may be used uninitialized in this function

pcre/pcre_exec.c:454: warning: 鈥榩ossessive鈥?may be used uninitialized in this function

這裡有一些亂碼,語言的關系,可以用下面的方法設定下語言,防止亂碼再次出現

[[email protected]_Z otp_src_R16B03-1]# export LANG=US

[[email protected]_Z otp_src_R16B03-1]# sudo make install

這個很快結束

檢視erlang 是否安裝成功:

[[email protected]_Z otp_src_R16B03-1]# erl

Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:2:2][async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with^G)

1>

在Erlang shell中鍵入Ctrl+C,然後輸入a退出Erlang shell

1>

BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded

       (v)ersion (k)ill(D)b-tables (d)istribution

a

[[email protected]_Z otp_src_R16B03-1]#

也可以用halt()來退出

[[email protected]_Z otp_src_R16B03-1]# erl

Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:2:2][async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with^G)

1> 2+3.

5

2> halt().

[[email protected]_Z rabbitmq]#

rabbitmq的安裝

官網上下載下傳安裝包http://www.rabbitmq.com/download.html

這裡使用rabbitmq-server-3.4.2.tar.gz

解壓安裝如下:

[[email protected]_Z 150107]# tar xvzf rabbitmq-server-3.4.2.tar.gz

[[email protected]_Z 150107]# cd rabbitmq-server-3.4.2/

[[email protected]_Z rabbitmq-server-3.4.2]#make

make過程需要5分鐘,耐心等待……

然後make intall

[[email protected]_Z rabbitmq-server-3.4.2]# make installTARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/manDOC_INSTALL_DIR=/usr/local/doc

安裝完成,檢視rabbitmq:

[roo[email protected]_Z rabbitmq-server-3.4.2]# ls/usr/local/sbin/rabbitmq

rabbitmqctl       rabbitmq-defaults rabbitmq-env      rabbitmq-plugins   rabbitmq-server

運作rabbitmq

[[email protected]_Z rabbitmq-server-3.4.2]#cd /usr/local/sbin/

[[email protected]_Z sbin]# ls

rabbitmqctl rabbitmq-defaults rabbitmq-env rabbitmq-plugins  rabbitmq-server

[[email protected]_Z sbin]# ./rabbitmq-server

             RabbitMQ 3.4.2. Copyright (C) 2007-2014 GoPivotal, Inc.

  ##  ##     Licensed under the MPL.  Seehttp://www.rabbitmq.com/

  ##  ##

 ##########  Logs:/var/log/rabbitmq/[email protected]_Z.log

 ######  ##       /var/log/rabbitmq/[email protected]_Z-sasl.log

  ##########

             Starting broker... completed with 0 plugins.

可以看出啟動時,完成的插件數為0;

rabbitmq的配置

官方文檔:http://www.rabbitmq.com/configure.html

一般情況下,RabbitMQ的預設配置就足夠了。如果希望特殊設定的話,有兩個檔案:

環境變量配置檔案rabbitmq-env.conf ;

基本資訊的配置檔案rabbitmq.config;

注意,這兩個檔案預設沒有,自己手動建立。

rabbitmq-env.conf

這個檔案的位置是确定和不能改變的,位于:/etc/rabbitmq目錄下(這個目錄需要自己建立)。

檔案的内容包括了RabbitMQ的一些環境變量,常用的有:

#RABBITMQ_NODE_PORT=    //端口号

#HOSTNAME=

RABBITMQ_NODENAME=mq

RABBITMQ_CONFIG_FILE=        //配置檔案的路徑

RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA資料庫的路徑

RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路徑

RABBITMQ_PLUGINS_DIR=/usr/local/plugins    //插件的路徑,這裡是rabbitmq自帶的插件的路徑,也可以将插件拷貝到指定路徑下再加載

rabbitmq.config

這是一個标準的erlang配置檔案。它必須符合erlang配置檔案的标準。

它既有預設的目錄,也可以在rabbitmq-env.conf檔案中配置。

樣例

% This file managed by Puppet

% Template Path:rabbitmq/templates/rabbitmq.config

[

  {rabbit,[

   {loopback_users, []},

   {tcp_listen_options, [binary,{packet, raw},{reuseaddr, true},{backlog,128},{nodelay, true},{exit_on_close, false},{keepalive, true}]},

   {default_user, <<"guest">>},

   {default_pass, <<"guest">>}

  ]},

  {kernel,[

  ]}

].

% EOF

檔案的内容詳見: http://www.rabbitmq.com/configure.html#config-items

rabbitmq的監控功能

參考官網:http://www.rabbitmq.com/management.html

RabbitMQ提供了一個web的監控頁面系統,這個系統是以Plugin的方式進行調用的。

首先,在rabbitmq-env.conf中配置好plugins目錄的位置:RABBITMQ_CONFIG_FILE

将監控頁面所需要的plugin下載下傳到plugins目錄下,這些plugin包括:

  mochiweb

  webmachine

  rabbitmq_mochiweb

  amqp_client

  rabbitmq_management_agent

  rabbitmq_management

插件rabbimqserver已經附帶了,路徑為/usr/local/plugins, 不需要下載下傳,直接enable,方法如下:

[ro[email protected]_Z sbin]# rabbitmq-plugins enablerabbitmq_management

重新啟動 RabbitMQ , windows 下輸入 http://本機ip:15672 就能夠進入到監控頁面。

例如本機ip為10.43.114.67就輸入http://10.43.114.67:15672,15672為rabbitmq使用的端口号,老版本為55672。預設的使用者名和密碼是: guest 和 guest。輸入使用者名密碼,提示登入失敗,原因:

現在的版中,處于安全的考慮,guest這個預設的使用者隻能通過localhost來登入,其他的IP無法直接使用這個賬号。為了解決這個問題,需要在rabbitmq的配置檔案中将loopback_users配置設定為空,如編寫配置檔案:/etc/rabbitmq/rabbitmq.config,并在其中添加以下内容:

[{rabbit, [{loopback_users, []}]}].

儲存後重新開機rabbitmq-server即可随意使用guest使用者名和密碼來登入了(當然這個做法非常不安全)。