이 포스트는 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를 써보려고 시작했던건데 점점 일이 커지는것 같다.
참고사이트
'Back-end > RabbitMQ' 카테고리의 다른 글
[RabbitMQ] 무작정 시작하기 (3) - 환경설정 (0) | 2020.01.10 |
---|---|
[RabbitMQ] 무작정 시작하기 (2) - Publish/Subscribe (0) | 2020.01.08 |
댓글