RabbitMQのインストールと管理画面の有効化(MacOSX/Linux/Windows)

  • 24
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

RabbitMQのインストールとRabbitMQ管理画面の有効化までのステップのメモ

Mac OSX

一番簡単

brew install rabbitmq

以上でインストール終了。裏でいろいろ(下で実施するLinuxインストール相当のことを)やってくれてる。

http://localhost:15672/ 

にアクセスすると管理画面が有効になっている。

CBIMGfsewr004.png

user:guest password:guest でログインできる

CBIMGfsewr003.png

Linux

Erlangをインストール

sudo yum install erlang

RabbitMQをダウンロード

RPMはこちらから
http://www.rabbitmq.com/install-rpm.html

curl -O http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.4/rabbitmq-server-3.4.4-1.noarch.rpm

RabbitMQをインストール

sudo rpm -ivh rabbitmq-server-3.4.4-1.noarch.rpm

RabbitMQを開始

sudo service rabbitmq-server start

ntsysvとかでOS起動時にBOOTするようにしておく(任意)

管理画面を有効化

sudo rabbitmq-plugins enable rabbitmq_management

ちなみにsudoしないとひどいエラーがでる
rabbitmq-plugins enable rabbitmq_management


[siori@localhost download]$ rabbitmq-plugins enable rabbitmq_management
{error_logger,{{2015,3,2},{0,26,59}},"Error when reading ./.erlang.cookie: eacces",[]}
{error_logger,{{2015,3,2},{0,26,59}},crash_report,[[{initial_call,{auth,init,['Argument__1']}},{pid,<0.19.0>},{registered_name,[]},{error_info,{exit,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{ancestors,[net_sup,kernel_sup,<0.10.0>]},{messages,[]},{links,[<0.17.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,27},{reductions,609}],[]]}
{error_logger,{{2015,3,2},{0,26,59}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{offender,[{pid,undefined},{name,auth},{mfargs,{auth,start_link,[]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2015,3,2},{0,26,59}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{shutdown,{failed_to_start_child,auth,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}}}},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2015,3,2},{0,26,59}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.9.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}}}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,133}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{ancestors,[<0.8.0>]},{messages,[{'EXIT',<0.10.0>,normal}]},{links,[<0.8.0>,<0.7.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,27},{reductions,148}],[]]}

管理画面が有効になったか調べる

[siori@localhost download]$ curl http://127.0.0.1:15672/

index.html
<html>
  <head>
    <title>RabbitMQ Management</title>
    <script src="js/ejs.min.js" type="text/javascript"></script>
    <script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="js/jquery.flot.min.js" type="text/javascript"></script>
    <script src="js/jquery.flot.time.min.js" type="text/javascript"></script>
    <script src="js/sammy-0.6.0.min.js" type="text/javascript"></script>
    <script src="js/json2.js" type="text/javascript"></script>
    <script src="js/base64.js" type="text/javascript"></script>
    <script src="js/global.js" type="text/javascript"></script>
    <script src="js/main.js" type="text/javascript"></script>
    <script src="js/prefs.js" type="text/javascript"></script>
    <script src="js/help.js" type="text/javascript"></script>
    <script src="js/formatters.js" type="text/javascript"></script>
    <script src="js/charts.js" type="text/javascript"></script>

    <link href="css/main.css" rel="stylesheet" type="text/css"/>
    <link href="favicon.ico" rel="shortcut icon" type="image/x-icon"/>

<!--[if lte IE 8]>
    <script src="js/excanvas.min.js" type="text/javascript"></script>
    <link href="css/evil.css" rel="stylesheet" type="text/css"/>
<![endif]-->
  </head>
  <body>
    <div id="outer"></div>
    <div id="debug"></div>
    <div id="scratch"></div>
  </body>
</html>

こんなのが返ってきたらOK

ポートフォワーディングして家のデスクトップから管理画面にアクセスできるようにする

Linuxは基本的にVPSなどリモート経由でアクセスする事が多いと思います。
デスクトップPC(Windows/Mac)から管理画面にアクセスするには ssh -L コマンドでポートフォワーディングを使います。

ここではLinux(VPS)のアドレスを111.111.111.111とし、ローカルのPCの25672ポートにフォワードします。

ssh -L 25672:111.111.111.111:15672 username@111.111.111.111

http://localhost:25672/ 

にアクセスし管理画面が開けたら成功・・・ですが、このままではguest/guestでログインできません(´・ω・`)

リモートからguest/guestで管理画面にアクセスできるようにする

RabbitMQのデフォルト設定ではguestユーザーはリモートPCからアクセスできないようになっています。
iptablesなどでセキュリティ確保していることを前提でguestユーザーをリモートアクセスできるようにします。

cd $RABBITMQ_HOME/etc/rabbitmq/
sudo touch rabbitmq.config
vi rabbitmq.config 
rabbitmq.config
[{rabbit, [{loopback_users, []}]}].

サービス再起動

sudo service rabbitmq-server restart

これでリモートからguestでログインできるようになります。

Windows

erlangのサイトからerlangをインストール

http://www.erlang.org/download.html

Windowsでアクセスした場合はWindowsのバイナリのリンクがでる

http://www.erlang.org/download/otp_win64_17.4.exe

こういうのを落としてクリックインストール

RabbitMQをダウンロード

http://www.rabbitmq.com/download.html

http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.4/rabbitmq-server-3.4.4.exe

こういうのを落としてクリックインストール!

RabbitMQを有効化

サービスとしてインストールされるのでコントロールパネルの管理→サービスで有効化

CBIMGfsewr001.png

管理系のコマンドがある場所まで移動

rabbitMQのコマンドはここらへんにインストールされるのでコマンドプロンプトに入りこのパスまで移動する
cd C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin

有効になってるプラグインを見つめる

CBIMGfsewr002.png

rabbitmq-plugins.bat listを実行すると管理系のプラグインが有効になってないのがわかる

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat list
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status:   * = running on rabbit@MACHINE
 |/
[  ] amqp_client                       3.4.4
[  ] cowboy                            0.5.0-rmq3.4.4-git4b93c2d
[  ] mochiweb                          2.7.0-rmq3.4.4-git680dba8
[  ] rabbitmq_amqp1_0                  3.4.4
[  ] rabbitmq_auth_backend_ldap        3.4.4
[  ] rabbitmq_auth_mechanism_ssl       3.4.4
[  ] rabbitmq_consistent_hash_exchange 3.4.4
[  ] rabbitmq_federation               3.4.4
[  ] rabbitmq_federation_management    3.4.4
[  ] rabbitmq_management               3.4.4
[  ] rabbitmq_management_agent         3.4.4
[  ] rabbitmq_management_visualiser    3.4.4
[  ] rabbitmq_mqtt                     3.4.4
[  ] rabbitmq_shovel                   3.4.4
[  ] rabbitmq_shovel_management        3.4.4
[  ] rabbitmq_stomp                    3.4.4
[  ] rabbitmq_test                     3.4.4
[  ] rabbitmq_tracing                  3.4.4
[  ] rabbitmq_web_dispatch             3.4.4
[  ] rabbitmq_web_stomp                3.4.4
[  ] rabbitmq_web_stomp_examples       3.4.4
[  ] sockjs                            0.3.4-rmq3.4.4-git3132eb9
[  ] webmachine                        1.10.3-rmq3.4.4-gite9359c7

全部無効になってる(´・ω・`)

管理プラグインを有効化する

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat enable rabbitmq
_management

以下のようになったらOK

The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@MACHINE... started 6 plugins.

管理プラグインが有効になったか調べる

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat list
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status:   * = running on rabbit@MACHINE
 |/
[e*] amqp_client                       3.4.4
[  ] cowboy                            0.5.0-rmq3.4.4-git4b93c2d
[e*] mochiweb                          2.7.0-rmq3.4.4-git680dba8
[  ] rabbitmq_amqp1_0                  3.4.4
[  ] rabbitmq_auth_backend_ldap        3.4.4
[  ] rabbitmq_auth_mechanism_ssl       3.4.4
[  ] rabbitmq_consistent_hash_exchange 3.4.4
[  ] rabbitmq_federation               3.4.4
[  ] rabbitmq_federation_management    3.4.4
[E*] rabbitmq_management               3.4.4
[e*] rabbitmq_management_agent         3.4.4
[  ] rabbitmq_management_visualiser    3.4.4
[  ] rabbitmq_mqtt                     3.4.4
[  ] rabbitmq_shovel                   3.4.4
[  ] rabbitmq_shovel_management        3.4.4
[  ] rabbitmq_stomp                    3.4.4
[  ] rabbitmq_test                     3.4.4
[  ] rabbitmq_tracing                  3.4.4
[e*] rabbitmq_web_dispatch             3.4.4
[  ] rabbitmq_web_stomp                3.4.4
[  ] rabbitmq_web_stomp_examples       3.4.4
[  ] sockjs                            0.3.4-rmq3.4.4-git3132eb9
[e*] webmachine                        1.10.3-rmq3.4.4-gite9359c7

OK!(`・ω・´)シャキーン

なんとなくビジュアライザーも有効化しておく

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat enable rabbitmq
_management_visualiser
The following plugins have been enabled:
  rabbitmq_management_visualiser

Applying plugin configuration to rabbit@MACHINE... started 1 plugin.

以上