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使用者名和密碼來登入了(當然這個做法非常不安全)。