お疲れ様です。きざきまるおです。
今回はUbuntuにRabbitMQをインストールする方法/手順についてまとめてこうと思います。
今更MQ?と思う方もいると思いますが、AWSのSQSなどシステムが疎結合になるにつれ、メッセージサーバーの役割はむしろ増えてくると思うので、良いお勉強と思って触ってもらえたらと思います。
それではどうぞ。
準備
UbuntuにRabbitMQをインストールするためにはコマンド一発ではなく、下準備が必要になります。
以下、公式URLに基づいて進めていきます。
Installing on Debian and Ubuntu
— RabbitMQ
まずはインストールするための依存ライブラリをインストールします。
apt-get install curl gnupg apt-transport-https -y
以下3つのコマンドはapt-keyを使わないサードパーティーリポジトリからのパッケージのインストールをする際に使用されるコマンドです。
つまり、RabbitMQはサードパーティーリポジトリを使うということですね。
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/nul
curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null
APTのデータ取得元リストへごりっと追記しています。
コマンドをよく見ると先ほど設定したものが利用されていますね。
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
# another mirror for redundancy
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
## Provides RabbitMQ
##
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
# another mirror for redundancy
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
EOF
APTデータ取得元リストへ追記したので更新します。
apt-get update -y
Erlang関連のライブラリをインストールしていますね。
内部的に並行処理させているということでしょうか??
apt-get install -y erlang-base \
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
erlang-runtime-tools erlang-snmp erlang-ssl \
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
インストール
下準備が完了したのであとはインストールするだけです。
以下コマンドでインストールしましょう。
apt-get install rabbitmq-server -y --fix-missing
デフォルト状態だと管理画面が使えないので有効化します。
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server
デフォルトユーザーは準備されているのですが、一応操作するためのユーザーを作成します。
rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
最後にブラウザで確認してみましょう。
http://xxx.xxx.xxx.xxx:15672
それではまた。