#rabbitmq

RabbitMQ 시작하기

Installation on ubuntu

ubuntu 에 rabbitmq 를 설치하고 실제 동작시켜 보자.

본 글에서는 실제 ubuntu 피씨가 아닌 docker ubuntu image 를 사용하도록 한다.

Ubuntu image 실행

아래 명령어를 통해 도커 우분투 이미지를 실행하고 콘솔에 들어가도록 하자.

1
2
docker pull ubuntu
docker run -it ubuntu

sudo 및 curl 설치

기본 우분투 이미지에는 sudo 와 curl 명령어가 없기 때문에 아래 명령어를 통해 sudo 와 curl 을 설치해 준다.

1
2
3
apt-get update&&
apt-get install -y sudo &&
apt-get -y install curl

Erlang/OTP 다운로드

Rabbitmq 를 내부적으로 erlang/otp 를 사용하기 때문에 적합한 버젼을 설치해 주어야 한다.

하지만 현재 erlang 버전은 너무 오래되었기 때문에 rabbitmq 팀에서 별도의 erlang 을 관리하고 배포하고 있는데 이를 설치하기 위해 다음과 같은 절차를 거친다.

먼저 apt-key 에 다음 키를 추가한다.

1
2
apt-get install -y gnupg2 &&
apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"

데비안 계열 운영체제가 레포지토리를 등록하기 위해서 다음 파일에 레포지토리를 등록해 주어야 한다.

이를 통해 apt-get 명령어가 해당 레포지토리를 찾고 패키지를 설치할 수 있다.

/etc/apt/sources.list.d/bintray.erlang.list 파일에

1
deb http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang

를 추가하면 되며 아래와 같은 명령어를 통해 한번에 세팅할 수 있다.

1
2
3
4
5
cd /etc/apt/sources.list.d &&
touch bintray.erlang.list &&
echo "deb http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang" >> bintray.erlang.list &&
echo register finished! &&
cat bintray.erlang.list

등록한 레포지토리를 설치해준다.

1
apt-get update

RabbitMQ 및 rabbitmq-server 설치

1
2

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash && apt-get install -y rabbitmq-server

Getting started

서버 시작하기

1
2
3
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

큐 비우기

1
sudo rabbitmqctl purge_queue queue_name

Final dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
FROM ubuntu

# set working directory
WORKDIR /

# update apt packages
RUN rm -rf /var/lib/apt/lists/*
RUN apt-get update

# install sudo and curl command
RUN apt-get install -y sudo && apt-get -y install curl

# register key for apt third party repository
RUN apt-get install -y gnupg2
RUN apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"

# register repository
RUN cd /etc/apt/sources.list.d && touch bintray.erlang.list && echo "deb http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang" >> bintray.erlang.list && echo register finished! && cat bintray.erlang.list

# install repository
RUN apt-get update

RUN curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash

RUN apt-get install -y rabbitmq-server
EXPOSE 3001
EXPOSE 5672
EXPOSE 15672

CMD [ "rabbitmq-server","start" ]
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×