RabbitMQ를 Rocky 8.8 환경에서 설치하는 방법

안녕하세요! 😊 오늘은 Rocky 8.8 환경에서 RabbitMQ를 설치하는 방법을 소개해 드리려고 해요. RabbitMQ는 메시지 브로커(Message Broker)로, 마이크로서비스 아키텍처나 메시징 큐 시스템에서 많이 사용되죠.

RabbitMQ는 특히 비동기 메시징을 지원하고, 다양한 언어 및 플랫폼과의 호환성을 제공하여 시스템 간 통신을 원활하게 만들어 줍니다. 또한 높은 성능과 안정성을 제공하여 대규모 트래픽을 처리할 때에도 유용하게 활용될 수 있어요.


🛠️ 설치 준비

RabbitMQ를 설치하려면 먼저 공식 홈페이지에서 설치할 버전을 확인해야 해요. 이후 필요한 키와 저장소 설정을 진행할게요. 최신 버전의 RabbitMQ를 설치하는 것이 일반적으로 좋지만, 특정 프로젝트나 호환성 문제로 인해 이전 버전을 선택해야 하는 경우도 있어요.

1. 🔑 RabbitMQ 및 Cloudsmith Signing 키 설치

RabbitMQ와 관련된 패키지들은 신뢰할 수 있는 소스에서 받아야 해요. 이를 위해 GPG 키를 설정해 줍니다.

## primary RabbitMQ signing key
rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc'

## modern Erlang repository
rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key'

## RabbitMQ server repository
rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key'

이 과정은 패키지 설치 시 서명을 검증하여 악성 코드나 변조된 파일을 설치하지 않도록 도와줍니다.

2. 📂 yum.repos.d 등록

vi /etc/yum.repos.d/rabbitmq.repo

운영체제에 맞는 repo를 등록해 주세요. 이번 설치 대상은 Rocky 8.8입니다. 저장소 설정 파일에 올바른 URL과 키 값을 입력해야 하며, 잘못된 설정은 패키지 설치 시 오류를 유발할 수 있어요.


📦 RabbitMQ 및 Erlang 설치

RabbitMQ는 Erlang이라는 프로그래밍 언어로 작성되었기 때문에, Erlang이 먼저 설치되어 있어야 해요.

dnf update -y

## 필수 패키지 설치
dnf install socat logrotate -y

## RabbitMQ 및 Zero Dependency Erlang 설치
dnf install -y erlang rabbitmq-server

## 서비스 등록 및 실행
systemctl enable rabbitmq-server
systemctl start rabbitmq-server

## 서비스 상태 확인
systemctl status rabbitmq-server

## 서비스 중지
systemctl stop rabbitmq-server

서비스를 시작한 후에는 systemctl status rabbitmq-server 명령어를 통해 정상적으로 실행되고 있는지 확인할 수 있어요. 만약 오류 메시지가 표시된다면 로그 파일을 확인하여 문제를 해결해야 합니다.


🚧 설치 시 주의사항

  1. 저장소 설정 시 경로를 정확히 입력해야 해요. 저장소 URL이나 GPG 키 경로를 잘못 입력하면 패키지를 다운로드할 수 없습니다.
  2. 필수 패키지(socat, logrotate)를 설치하지 않으면 오류가 발생할 수 있어요. RabbitMQ는 메시지 전송을 위한 네트워킹 툴(socat)과 로그 관리를 위한 logrotate가 필요합니다.
  3. 서비스 시작 후 반드시 상태를 확인해 주세요. 시스템 재부팅 시에도 자동으로 시작되도록 systemctl enable 명령어를 사용했는지 확인합니다.
  4. 방화벽 설정을 확인하여 포트를 열어야 접근이 가능해요. 기본적으로 RabbitMQ의 관리 콘솔은 15672 포트를 사용하고, 메시지 큐 통신을 위해 5672 포트를 사용합니다.
  5. 데이터 저장 경로를 지정해 주면 좋습니다. 기본 설정을 사용하면 컨테이너나 시스템 재설치 시 데이터가 손실될 수 있어요. 이를 방지하려면 데이터를 영구 저장소(예: /var/lib/rabbitmq/)에 저장하도록 설정합니다.
  6. Erlang 버전 호환성 확인 RabbitMQ는 특정 버전의 Erlang과만 호환될 수 있습니다. 설치 전 호환성 표를 꼭 확인하세요.
  7. 관리자 계정 및 초기 설정 설치 후에는 RabbitMQ의 관리 콘솔에 접근할 수 있도록 관리자 계정을 생성하고 초기 설정을 완료해야 합니다.

오늘도 즐거운 개발 되세요! 😉