FreeBSD 14
Sponsored Link

RabbitMQ : インストール2024/09/17

 

AMQP (Advanced Message Queuing Protocol) を使用して、アプリケーション間で非同期にメッセージのやり取りが可能な RabbitMQ のインストールと利用方法です。

[1] RabbitMQ をインストールします。
root@dlp:~ #
pkg install -y rabbitmq
root@dlp:~ #
vi /usr/local/etc/rabbitmq/rabbitmq-env.conf
# 新規作成

HOME=/var/db/rabbitmq
LOG_BASE=/var/log/rabbitmq
MNESIA_BASE=/var/db/rabbitmq/mnesia

root@dlp:~ #
service rabbitmq enable

rabbitmq enabled in /etc/rc.conf
root@dlp:~ #
service rabbitmq start

Starting rabbitmq.
[2] RabbitMQ を利用するためには、まず、ユーザーを追加します。
デフォルトではローカルホストのみ利用可能な [guest] ユーザーが登録されています。
# rabbitmqctl add_user [ユーザー] [パスワード]

root@dlp:~ #
rabbitmqctl add_user serverworld password

Adding user "serverworld" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
# ユーザーリスト表示

root@dlp:~ #
rabbitmqctl list_users

Listing users ...
user    tags
serverworld     []
guest   [administrator]

# ユーザーのパスワードを変更する場合は以下

root@dlp:~ #
rabbitmqctl change_password serverworld strongpassword

Changing password for user "serverworld" ...
# ユーザーに管理者ロールを付与する場合は以下

root@dlp:~ #
rabbitmqctl set_user_tags serverworld administrator

Setting tags for user "serverworld" to [administrator] ...
# ユーザーを削除する場合は以下

root@dlp:~ #
rabbitmqctl delete_user serverworld

Deleting user "serverworld" ...
[3] ユーザーを追加しただけでは、まだ RabbitMQ は利用できません。
特定のバーチャルホストに対して、追加したユーザーが利用できるように権限を付与することで利用可能となります。
バーチャルホストを追加するには以下のように設定します。
# rabbitmqctl add_vhost [vhost]

root@dlp:~ #
rabbitmqctl add_vhost /my_vhost

Adding vhost "/my_vhost" ...
# vhost リスト表示

root@dlp:~ #
rabbitmqctl list_vhosts

Listing vhosts ...
name
/my_vhost
/

# vhost を削除する場合は以下

root@dlp:~ #
rabbitmqctl delete_vhost /my_vhost

Deleting vhost "/my_vhost" ...
[4] 追加したバーチャルホストに対して、特定のユーザーに権限を付与するには以下のように設定します。
# rabbitmqctl set_permissions [-p vhost] [ユーザー] [パーミッション ⇒ (変更) (書き込み) (読み込み) の順]

root@dlp:~ #
rabbitmqctl set_permissions -p /my_vhost serverworld ".*" ".*" ".*"

Setting permissions for user "serverworld" in vhost "/my_vhost" ...
# vhost のパーミッション表示

root@dlp:~ #
rabbitmqctl list_permissions -p /my_vhost

Listing permissions for vhost "/my_vhost" ...
user    configure       write   read
serverworld     .*      .*      .*

# 特定のユーザーのパーミッション表示

root@dlp:~ #
rabbitmqctl list_user_permissions serverworld

Listing permissions for user "serverworld" ...
vhost   configure       write   read
/my_vhost       .*      .*      .*

# 特定の vhost に対して特定ユーザーのパーミッションを削除する場合は以下

root@dlp:~ #
rabbitmqctl clear_permissions -p /my_vhost serverworld

Clearing permissions for user "serverworld" in vhost "/my_vhost" ...
関連コンテンツ