【RabbitMQ】取付


RabbitMQは多くのオペレーティングシステムにインストールできます.私のシステム:
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]# 

インストールerlang
RabbitMQはerlangに依存するので、RabbitMQをインストールする前に、erlangをインストールします.yumソースリファレンス:erlang yum(Erlang 20.x on CentOS 7を使用しています)
Erlang 20.x on CentOS 7:
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
[root@localhost ~]# vi /etc/yum.repos.d/rabbitmq-erlang.repo #   erlang repos,      
[root@localhost ~]# yum update
[root@localhost ~]# yum install -y erlang

インストールが完了するまで待つ
その他の依存関係のインストール
erlangのほかrabbitmqは「socat」に依存しており、以下のコマンドでインストールが完了します.
[root@localhost ~]# yum install -y socat

rabbitmqのインストール
rabbitmq-server-3.7.6-1.el7.noarch.rpm rabbitmqのrpmパッケージをダウンロード
[root@localhost ~]# wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.6/rabbitmq-server-3.7.6-1.el7.noarch.rpm

[root@localhost ~]# rpm -ivh rabbitmq-server-3.7.6-1.el7.noarch.rpm

rabbitmqインストール完了
他のOSの場合は、公式サイト:Downloading and Installing RabbitMQを参照してください.
rabbitmqの起動
[root@localhost ~]# systemctl start rabbitmq-server.service

[root@localhost ~]# systemctl status rabbitmq-server.service 
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2018-06-30 20:22:03 PDT; 6min ago
  Process: 85394 ExecStop=/usr/sbin/rabbitmqctl shutdown (code=exited, status=0/SUCCESS)
 Main PID: 85518 (beam.smp)
   Status: "Initialized"
    Tasks: 83
   CGroup: /system.slice/rabbitmq-server.service
           ├─85518 /usr/lib64/erlang/erts-9.3.3/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db...
           ├─85859 erl_child_setup 1024
           ├─85873 inet_gethost 4
           └─85874 inet_gethost 4

Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: ##  ##
Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: ##  ##      RabbitMQ 3.7.6. Copyright (C) 2007-2018 Pivotal Software, Inc.
Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: ##########  Licensed under the MPL.  See http://www.rabbitmq.com/
Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: ######  ##
Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: ##########  Logs: /var/log/rabbitmq/[email protected]
Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: /var/log/rabbitmq/rabbit@localhost_upgrade.log
Jun 30 20:22:01 localhost.localdomain rabbitmq-server[85518]: Starting broker...
Jun 30 20:22:03 localhost.localdomain rabbitmq-server[85518]: systemd unit for activation check: "rabbitmq-server.service"
Jun 30 20:22:03 localhost.localdomain systemd[1]: Started RabbitMQ broker.
Jun 30 20:22:04 localhost.localdomain rabbitmq-server[85518]: completed with 0 plugins.
[root@localhost ~]#

起動に成功したら、後続のテストを容易にするために、まずユーザーを作成します.
[root@localhost ~]# rabbitmqctl add_user  
[root@localhost ~]# rabbitmqctl set_permissions -p /  ".*" ".*" ".*"

説明:
  • rabbitmqはguestユーザーをデフォルトで作成しますが、localhostから
  • へのアクセスのみが許可されます.
  • 各ユーザがrabbitmqにアクセスするにはvhost(権限制御)
  • を使用する必要がある.
  • rabbitmqデフォルトでは/ vhostが作成されています.新しいユーザーに権限を設定する必要があります.そうしないと、no access to this vhost
  • とエラーが発生します.
    ファイアウォール
    rabbitmqはデフォルトで5672ポートを使用します.rabbitmqが本機にインストールされていない場合は、tcp/5672をオープンし、centos 7がtcp/5672をオープンするコマンドを覚えておいてください.
    [root@localhost anys]# firewall-cmd --zone=public --add-port=5672/tcp --permanent
    [root@localhost anys]# firewall-cmd --reload