安裝之前,把一些依賴的包先裝好
yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
rabbitMQ依賴于Erlang,安裝rabbitMQ之前先要安裝Erlang,安裝rabbitmq之前最好查一下,rabbitMQ的版本對erlang版本的要求,版本要比對,要不然安裝的時候會有問題。
1.首先從官網(http://www.erlang.org)下載下傳Erlang,我選擇的是otp_src_18.3.tar.gz
2.将下載下傳的檔案進行解壓
3.進行安裝
$ cd otp_src_18./
$ ./configure --prefix=/opt/erlang #編譯配置erlang的安裝路徑,便于自己以後查找
注:執行./configure的時候,可能會報錯,一般是還有依賴的包沒有裝,直接用yum指令裝好依賴的包就行了
$ make&make install
4.驗證安裝。安裝完成後,執行erl指令,若出現如下資訊,表示安裝成功
$ cd /opt/erlang/sbin
$ erl
Erlang/OTP [erts-] [source] [-bit] [async-threads:] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
rabbitMQ的安裝
1.從官網(http://www.rabbitmq.com)下載下傳rabbitMQ,我選擇的是3.6.1版本
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3/rabbitmq-server-generic-unix-.tar.xz
或者直接在網頁上下載下傳也行
2.解壓安裝包
$ xz -d rabbitmq-server-generic-unix-.tar.xz
$ tar -xvf rabbitmq-server-generic-unix-.tar
配置rabbitmq環境變量,vi /etc/profile檔案,增加下面的環境變量:
#set rabbitmq environment
export PATH=$PATH:/opt/rabbitmq/sbin
$ source /etc/profile使得檔案生效
3.RabbitMQ服務啟動關閉
$ cd sbin
$ ./rabbitmq-server -detached
#檢視服務狀态
$ ./rabbitmqctl status
Status of node [email protected] ...
[{pid,},
{running_applications,[{rabbit,"RabbitMQ","3.6.1"},
{ranch,"Socket acceptor pool for TCP protocols.",
"1.2.1"},
{os_mon,"CPO CXC 138 46","2.4"},
{xmerl,"XML parser","1.3.10"},
{mnesia,"MNESIA CXC 138 12","4.13.3"},
{rabbit_common,[],"3.6.1"},
{sasl,"SASL CXC 138 11","2.7"},
{stdlib,"ERTS CXC 138 10","2.8"},
{kernel,"ERTS CXC 138 10","4.2"}]},
{os,{unix,linux}},
{erlang_version,"Erlang/OTP 18 [erts-7.3] [source] [64-bit] [async-threads:64] [hipe] [kernel-poll:true]\n"},
{memory,[{total,},
{connection_readers,},
{connection_writers,},
{connection_channels,},
{connection_other,},
{queue_procs,},
{queue_slave_procs,},
{plugins,},
{other_proc,},
{mnesia,},
{mgmt_db,},
{msg_index,},
{other_ets,},
{binary,},
{code,},
{atom,},
{other_system,}]},
{alarms,[]},
{listeners,[{clustering,,"::"},{amqp,,"::"}]},
{vm_memory_high_watermark,},
{vm_memory_limit,},
{disk_free_limit,},
{disk_free,},
{file_descriptors,[{total_limit,},
{total_used,},
{sockets_limit,},
{sockets_used,}]},
{processes,[{limit,},{used,}]},
{run_queue,},
{uptime,},
{kernel,{net_ticktime,}}]
#關閉服務
$ ./rabbitmqctl stop
Stopping and halting node [email protected] ...
4.配置網頁插件
rabbitMQ有一套完善的網頁版插件,可以清晰的看到rabbitMQ的運作狀态以及各個參數的情況,安裝網頁版插件,能很友善的對rabbitMQ進行管理
#建立目錄
$ mkdir /etc/rabbitmq
#啟用插件
$ ./rabbitmq-plugins enable rabbitmq_management
如果是本機,此時可以通過http://localhost:15672 ,就可以打開頁面版管理界面
如果你跟我一樣,是在虛拟機裡面安裝的,此時你會發現通過浏覽器通路http://遠端ip:15672,無法打開網頁,是怎麼回事?
原來,rabbitMQ網頁版插件預設是不允許遠端通路的,需要開放遠端通路的權限
5.開放遠端通路權限
#增加一個使用者
$ rabbitmqctl add_user admin admin #新增一個使用者admin,密碼為admin
$ rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" #給admin使用者授權
$ rabbitmqctl set_user_tags admin administrator #修改admin使用者的角色
此時,通路http://遠端ip:15672,試一下,是不是可以正常通路啦!
輸入使用者名 admin 密碼 admin,你就可以進入rabbitMQ的網頁版管理界面了!!!