RabbitMQ
RabbitMQ はメッセージを仲介するメッセージングブローカーです。メッセージを送受信したりするための共通プラットフォームとしてメッセージが受け取られるまで安全な場所に保管することができます。
目次
インストール
設定
設定は不要です。rabbitmq
サービスを起動してください。
デフォルトの設定ファイルは /etc/rabbitmq/rabbitmq-env.conf
に存在します。設定に関する詳細は 公式ドキュメント を読んでください。
MQTT の有効化
RabbitMQ は MQTT サーバーとして使えます。機能させるには以下のようにプラグインをインストールする必要があります:
$ sudo -u rabbitmq rabbitmq-plugins enable rabbitmq_mqtt
インストールしたら RabbitMQ サービスを再起動して変更を適用してください。
トピックに投稿する前にクライアントを認証する必要があります。RabbitMQ はバーチャルホストによってトラフィックを分離するため、ユーザー名を `your_user_name:configured_vhost_name` として認証を行ってください。
トラブルシューティング
ホストネームの変更
rabbitmq をインストールした後にホストネームを変更した場合、起動できなくなります。/etc/rabbitmq/rabbitmq-env.conf
に記述されている NODENAME
が原因です。新しいホストネームにあわせて変更してください:
/etc/rabbitmq/rabbitmq-env.conf
NODENAME=rabbit@my-new-hostname ...
RabbitMQ を最新版にアップグレードしたら起動できない
/etc/rabbitmq/rabbitmq-env.conf
の NODENAME
が間違っているのが原因です。例えば @hostname
が追加されてしまうことがあります。ホストネームの変更のときと同じようにすることで解決できます。
Erlang の cookie エラー
rabbitmq の HOME 設定が間違っていると認証に失敗することがあります:
Authentication failed (rejected by the remote node), please check the Erlang cookie ... home dir: /root
HOME は設定ファイルで設定できます:
/etc/rabbitmq/rabbitmq-env.conf
... HOME=/var/lib/rabbitmq ...