Monday, July 3, 2017

RabbitMQ 설치 가이드


RabbitMQ 의존 라이브러리 설치

1. erlang 설치 (version . Erlang R16B03-1)
sudo wget -O /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo
sudo yum install erlang
  

RabbitMQ 설치

1. rabbitmq-server 설치
sudo wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
sudo rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm
별도로 설정하지 않을 경우 /usr/sbin 아래의 rabbimq 관련 스크립트들이 실행되는데, rabbiqmq 계정으로 시작되어 관리에 어려움이 있다.
{user} 계정으로 운영하기 쉽도록 이 스크립트들은 비활성화 시킨다.
sudo mv /usr/sbin/rabbitmqctl /usr/sbin/rabbitmqctl_dont_use
sudo mv /usr/sbin/rabbitmq-plugins /usr/sbin/rabbitmq-plugins_dont_use
sudo mv /usr/sbin/rabbitmq-server /usr/sbin/rabbitmq-server_dont_use
rabbitmq bin 디렉토리를 path에 추가하여 편하게 운영할 수 있도록 한다.
.bashrc
PATH=$PATH:/usr/lib/rabbitmq/bin
2. rabbitmq 설정
설정파일은 abc의 conf 폴더를 사용하도록 한다.
sudo rmdir /etc/rabbitmq/
sudo ln -s /home1/{user}/conf/rabbitmq /etc/rabbitmq
NODENAME 을 지정해주지 않으면 이상하게도 클러스터 환경이 구성이 안된다.
/home1/abc/conf/rabbitmq/rabbitmq-env.conf
NODENAME=rabbit@{hostname}
/etc/hosts에 '.'이 들어가지 않는 hostname 설정을 추가하고 이 값을 사용한다.

Linux centos 7 버전으로 설치를 했는데 port 가 tcp6 로 잡혀서 직접 포트를 설정해줘야함
포트 번호는 22133으로 지정 → 기본 포트가 5672
/home1/abc/conf/rabbitmq/rabbitmq.config
[
  {rabbit, [
    {tcp_listeners, [{"0.0.0.0"22133}]}
  ]}
].
3. management plugin 활성화
rabbitmq-plugins enable rabbitmq_management
로그 파일 경로 변경
4. rabbitmq 서버 시작
  • 서버 시작 ( -detached 는 백그라운드로 실행하겠다는 의미 이다 ) 일반적으로 rabbitmq-server on 으로 실행
    rabbitmq-server -detached
  • 상태 확인
    rabbitmqctl status
  • 계정 추가
    guest/guest 계정이 기본적으로 생성은 되어있지만, 기본적으로 localhost에서만 이 계정으로 접근 가능하다.
    보안을 고려하여 이 정책을 변경없이 그대로 사용하고, 새로운 계정을 추가하여 사용한다.
    rabbitmqctl add_user mom mom
    rabbitmqctl set_user_tags mom administrator
    rabbitmqctl set_permissions -p / mom ".*" ".*" ".*"
  • virtual-host 추가
    /store라는 virtual host를 추가한후 mom 계정에 /store 권한을 추가한다.
    sudo rabbitmqctl add_vhost /store
    sudo rabbitmqctl set_permissions -p /store mom ".*" ".*" ".*"


  • 관리 페이지 확인
    http://x.x.x.x:15672

No comments:

Post a Comment