포스트

RabbitMQ

목차

  1. RabbitMQ?
  2. RabbitMQ 설치
  3. RabbitMQ Daemon
  4. RabbitMQ 관리자 계정 생성 및 관리용 플러그인 활성화
  5. RabbitMQ Web 실행 확인
  6. RabbitMQ 플러그인 설치

RabbitMQ?

RabbitMQ는 오픈 소스 메세지 브로커 소프트웨어로, 메세지를 생성하는 프로세스(프로듀서)와 이를 소비하는 프로세스(컨슈머) 간에 메세지를 전달하는 역활을 한다.
AMQP(Advanced Message Queuing Protocol)를 기반으로 하며, 다양한 언어와 플랫폼에서 사용할 수 있다.

RabbitMQ 설치

최신 버전의 Erlang과 RabbitMQ 설치하는 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo apt-get install curl gnupg apt-transport-https -y
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/null
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

sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
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
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
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
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

sudo apt-get update -y
sudo 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
sudo apt-get install rabbitmq-server -y --fix-missing

RabbitMQ Daemon

1
2
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server

동작 확인
sudo service rabbitmq-server status

RabbitMQ 관리자 계정 생성 및 관리용 플러그인 활성화

1
2
3
4
rabbitmqctl add_user {id} {password}
rabbitmqctl set_user_tags {id} administrator

rabbitmq-plugins enable rabbitmq_management

이후 sudo service rabbitmq-server restart로 재실행 필요

RabbitMQ Web 실행 확인

http://localhost:15672로 접속해서 설정한 user_id와 user_password를 입력하여
웹 페이지에 정상적으로 접속되는 것을 확인하면 된다.

RabbitMQ 플러그인 설치

필요한 플러그인을 찾은 후 아래와 같이 입력하여 설치를 하면 된다.
아래의 설치 명령어는 MQTT를 설치하는 것이다.

1
rabbitmq-plugins enable rabbitmq_mqtt

설치 이후에는 sudo service rabbitmq-server restart로 재실행 필요

설치한 플러그인을 확인하는 방법은 아래의 명령어를 실행하면 확인할 수 있다.
sudo rabbitmqctl list_plugins