RabbitMQ : インストール2016/09/03 |
AMQP (Advanced Message Queuing Protocol) を使用して、アプリケーション間で非同期にメッセージのやり取りが可能な
RabbitMQ のインストールと利用方法です。
|
|
[1] | RabbitMQ をインストールします。 |
# EPELからインストール
[root@dlp ~]#
[root@dlp ~]# yum --enablerepo=epel -y install rabbitmq-server systemctl start rabbitmq-server [root@dlp ~]# systemctl enable rabbitmq-server
|
[2] | Firewalld を有効にしている場合は、RabbitMQ ポートの許可が必要です。 |
[root@dlp ~]# firewall-cmd --add-port=5672/tcp --permanent success [root@dlp ~]# firewall-cmd --reload success |
[3] | RabbitMQ を利用するためには、まず、ユーザーを追加します。 デフォルトではローカルのみ利用可能な guest ユーザーが登録されています。 |
# rabbitmqctl add_user [ユーザー] [パスワード] [root@dlp ~]# rabbitmqctl add_user serverworld password Creating user "serverworld" ... ...done. # ユーザーリスト表示 [root@dlp ~]# rabbitmqctl list_users Listing users ... guest [administrator] serverworld [] ...done. # ユーザーのパスワードを変更する場合は以下 [root@dlp ~]# rabbitmqctl change_password serverworld strongpassword Changing password for user "serverworld" ... ...done. # ユーザーに管理者ロールを付与する場合は以下 [root@dlp ~]# rabbitmqctl set_user_tags serverworld administrator Setting tags for user "serverworld" to [administrator] ... ...done. # ユーザーを削除する場合は以下 [root@dlp ~]# rabbitmqctl delete_user serverworld Deleting user "serverworld" ... ...done. |
[4] | ユーザーを追加しただけでは、まだ RabbitMQ は利用できません。 特定のバーチャルホストに対して、追加したユーザーが利用できるように権限を付与することで利用可能となります。 バーチャルホストを追加するには以下のように設定します。 |
# rabbitmqctl add_vhost [vhost] [root@dlp ~]# rabbitmqctl add_vhost /my_vhost Creating vhost "/my_vhost" ... ...done. # vhostリスト表示 [root@dlp ~]# rabbitmqctl list_vhosts Listing vhosts ... / /my_vhost ...done. # vhostを削除する場合は以下 [root@dlp ~]# rabbitmqctl delete_vhost /my_vhost Deleting vhost "/my_vhost" ... ...done. |
[5] | 追加したバーチャルホストに対して、特定のユーザーに権限を付与するには以下のように設定します。 |
# rabbitmqctl set_permissions [-p vhost] [ユーザー] [パーミッション ⇒ (変更) (書き込み) (読み込み) の順] [root@dlp ~]# rabbitmqctl set_permissions -p /my_vhost serverworld ".*" ".*" ".*" Setting permissions for user "serverworld" in vhost "/my_vhost" ... ...done. # vhostのパーミッション表示 [root@dlp ~]# rabbitmqctl list_permissions -p /my_vhost Listing permissions in vhost "/my_vhost" ... serverworld .* .* .* ...done. # 特定のユーザーのパーミッション表示 [root@dlp ~]# rabbitmqctl list_user_permissions serverworld Listing permissions for user "serverworld" ... /my_vhost .* .* .* ...done. # 特定のvhostに対して特定ユーザーのパーミッションを削除する場合は以下 [root@dlp ~]# rabbitmqctl clear_permissions -p /my_vhost serverworld Clearing permissions for user "serverworld" in vhost "/my_vhost" ... ...done. |
Sponsored Link |