본문 바로가기
Back-end/RabbitMQ

[RabbitMQ] 무작정 시작하기 (1) - 설치 및 실행

by 허도치 2020. 1. 8.

 

이 포스트는 Windows10 기반으로 작성되었음.

 

  메시지 브로커의 하나이며 메시지 브로커에 대한 설명은 [Message Broker란?] 포스트를 참조하길 바란다. RabbitMQ는 여러 측면에서 사용되지만 필자는 Python에서 비동기 태스크 처리를 위해 쓰레드로 분산처리하는 Celery를 배우면서 RabbitMQ를 접하게 되었다.

 

 

1. RabbitMQ 설치.

   1-1. 다운로드 - rabbitmq-server-3.8.2.exe

 

   1-2. RabbitMQ 3.8.2버전은 Erlang/OTP 21.3.x ~ 22.x 버전을 지원하므로 필요시 설치.

         - https://www.erlang.org/downloads

 

   1-3. 설치.

         - 별도의 옵션을 선택할 필요없이 Next를 눌러서 설치.

 

   1-4. 설치경로 확인.

         - C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.2

         - 설치 경로는 PC 환경에 따라 다를 수 있으므로 반드시 확인하길바람.

 

 

2. 환경변수 설정.

   2-1. 제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 클릭.

 

   2-2. 환경 변수 > 사용자 변수탭의 Path 선택 후 편집 > [ C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.2\sbin ] 입력 > 확인.

 

 

3. 실행

   3-1. 명령프롬프트 실행.

         - [ 윈도우키 ]+[ R ] > [ CMD ] 입력 > 확인.

 

   3-2. RabbitMQ Server 실행.

         - rabbitmq-server 입력 후 Enter.

         - 정상적으로 실행되면 아래와 같이 RabbitMQ Server의 정보를 확인할 수 있음.

         - RabbitMQ Server의 기본 포트는 5672.

 

   3-3. RabbitMQ Server를 실행하는 두가지 방식.

         - rabbitmq-server : Fore-ground 실행 방식이며, 창을 종료하면 서비스도 같이 종료됨.

         - rabbitmqctl [start|stop] : Back-ground 방식으로 실행화면이 눈에 보이지 않으며, 별도의 명령이나 프로세스가 종료되기 전까지 실행됨.

 

 

4. RabbitMQ Server Management Plugin 설정.

   4-1. RabbitMQ Server를 GUI로 관리하기 위한 플러그인. 이 플러그인을 사용하지 않으면 rabbitmqctl툴로 명령어를 직접 타이핑해야하는 어려움이 있으므로, 사용하는 것을 추천함.

 

   4-2. 플러그인 적용.

         - rabbitmq-plugins enable rabbitmq_management 실행.

 

   4-3. 플러그인 적용 확인.

         - rabbitmq-plugins list 실행.

         - 사진과 같이 [E*] 또는 [e*]로 표시되면 적용 완료.

 

   4-4. 인터넷 브라우저를 열고 [ localhost:15672 ]로 접속.

 

   4-5. 계정은 RabbitMQ 관리자 권한을 가진 guest 유저를 제공함, 단 이 계정은 외부에서 접속할 수 없음.

         - username: guest

         - password: guest

         - guest로 접속하면 아래와 같은 화면을 볼 수 있음.

 

 

5. RabbitMQ Server 유저 생성.

   5-1. RabbitMQ Server 관리화면에서 [ Admin ] 탭에서 매우 쉽게 유저를 추가할 수 있으므로, 툴을 사용하여 어떻게 추가하는지 알아보자.

 

   5-2. 유저 생성.

         - rabbitmqctl add_user <username> <password> 실행.

 

   5-3. 유저 역할 설정.

         - rabbitmqctl set_user_tags <username> administrator 실행.

         - 유저의 역할은 administrator, monitoring, policymaker, management, none 이 있으며, 추후에 알아보자.

 

   5-4. 유저 확인.

         - rabbitmqctl list_users 실행.

 

   5-5. 유저 vhost 권한 설정.

         - rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read> 실행.

         - RabbitMQ 에는 Virtual Host라는 개념이 존재하는데, 우선 Message Queue의 주소라고 생각하자.

 

   5-6. 유저 vhost 권한 확인.

         - rabbitmqctl list_permissions 실행

 

   5-7. 관리화면 > [ Admin ] 탭에서 확인.

 

 

6. 마치며

   - Windows 10에서 RabbitMQ Server를 실행하여 보았는데, MacOS나 Docker로 설치해도 실행방법만 조금 다를뿐이지 Management Plugin이나 유저 생성, 권한 설정 등 설정방법은 똑같다.

   - 사실 서버를 실행하고 guest 유저를 사용하면 별도의 설정없이 바로 사용할 수 있지만, 그래도 이왕 사용하는거 유저를 생성하는 방법정도는 알아야하지 않겠나 싶어서 시작했는데 Virtual Host도 알아둬야할 것 같다.

   - Celery를 써보려고 시작했던건데 점점 일이 커지는것 같다.

 

 

참고사이트

- https://www.rabbitmq.com/#features

- https://nesoy.github.io/articles/2019-02/RabbitMQ

댓글