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 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" ... |
Sponsored Link |