웹사이트 검색

CentOS 7에 RabbitMQ 서버를 설치하는 방법


이 페이지에서

  1. 기본 시스템 업데이트
  2. Erlang 설치
  3. RabbitMQ 설치
  4. RabbitMQ 시작하기\n
  5. 방화벽 및 SELinux 규칙 수정\n
  6. 웹 콘솔 액세스
  7. 결론

RabbitMQ는 무료 오픈 소스 엔터프라이즈 메시지 브로커 소프트웨어입니다. Erlang으로 작성되었으며 AMQP(Advanced Message Queuing Protocol)를 구현합니다. 모든 주요 프로그래밍 언어로 클라이언트 라이브러리를 제공합니다. 여러 메시징 프로토콜, 메시지 대기열, 배달 확인, 대기열에 대한 유연한 라우팅, 여러 교환 유형을 지원합니다. 또한 사용하기 쉬운 HTTP-API, 명령줄 도구 및 RabbitMQ 관리를 위한 웹 UI를 제공합니다.

이 튜토리얼에서는 CentOS 7 서버에 RabbitMQ를 설치합니다.

전제 조건

  • 최소 CentOS 7 서버
  • 루트 권한. 이 가이드는 루트 사용자로 작성되었으므로 sudo 사용자로 로그인한 경우 sudo -i를 실행하십시오.\n

기본 시스템 업데이트

패키지를 설치하기 전에 다음 명령을 사용하여 패키지와 리포지토리를 업데이트하는 것이 좋습니다.

yum -y update

시스템이 업데이트되면 계속 진행하여 Erlang을 설치하십시오.

얼랭 설치

RabbitMQ는 Erlang 언어로 작성되었습니다. 이 튜토리얼에서는 최신 버전의 Erlang을 서버에 설치합니다. Erlang은 기본 YUM 리포지토리에서 사용할 수 없으므로 EPEL 리포지토리를 설치해야 합니다. 동일하게 다음 명령을 실행하십시오.

yum -y install epel-release
yum -y update

이제 다음 명령을 사용하여 Erlang을 설치하십시오.

yum -y install erlang socat

이제 다음 명령을 사용하여 Erlang 버전을 확인할 수 있습니다.

erl -version

다음과 같은 결과가 표시됩니다.

[ ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

Erlang 셸로 전환하려면 다음 명령을 입력하면 됩니다.

erl

셸이 변경되고 다음과 같은 결과가 표시됩니다.

Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.4  (abort with ^G)
1>

ctrl+C를 두 번 눌러 셸을 종료할 수 있습니다. 이제 Erlang이 시스템에 설치되었으므로 이제 RabbitMQ 설치를 진행할 수 있습니다.

RabbitMQ 설치

RabbitMQ는 사전 컴파일되어 직접 설치할 수 있는 엔터프라이즈 Linux 시스템용 RPM 패키지를 제공합니다. 유일하게 필요한 종속성은 Erlang을 시스템에 설치하는 것이었습니다. Erlang을 설치했으므로 계속해서 RabbitMQ를 다운로드할 수 있습니다. 실행하여 Erlang RPM 패키지를 다운로드합니다.

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

wget이 설치되어 있지 않으면 yum -y install wget을 실행할 수 있습니다. 항상 최신 버전의 RabbitMQ 다운로드 페이지에 대한 링크를 찾을 수 있습니다.

다음을 실행하여 GPG 키를 가져옵니다.

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

다음을 실행하여 RPM 패키지를 설치합니다.

rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm

이제 RabbitMQ가 시스템에 설치되었습니다.

RabbitMQ 시작하기

다음 명령을 실행하여 RabbitMQ 서버 프로세스를 시작할 수 있습니다.

systemctl start rabbitmq-server

부팅 시 자동으로 RabbitMQ를 시작하려면 다음 명령을 실행합니다.

systemctl enable rabbitmq-server

RabbitMQ 서버의 상태를 확인하려면 다음을 실행하십시오.

systemctl status rabbitmq-server

성공적으로 시작된 경우 다음 출력이 표시되어야 합니다.

? rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago
 Main PID: 29006 (beam.smp)
   Status: "Initialized"
   CGroup: /system.slice/rabbitmq-server.service
           ??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K tr...
           ??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon
           ??29283 erl_child_setup 1024
           ??29303 inet_gethost 4
           ??29304 inet_gethost 4

Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker...
Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service"
Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker.
Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.

방화벽 및 SELinux 규칙 수정

방화벽을 설치하고 실행 중인 경우 방화벽을 통해 포트 8161을 허용해야 합니다. 동일하게 다음 명령을 실행하십시오.

firewall-cmd --zone=public --permanent --add-port=4369/tcp
firewall-cmd --zone=public --permanent --add-port=25672/tcp
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
firewall-cmd --zone=public --permanent --add-port=15672/tcp
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
firewall-cmd --zone=public --permanent --add-port=1883/tcp
firewall-cmd --zone=public --permanent --add-port=8883/tcp
firewall-cmd --reload

SELinux를 활성화한 경우 RabbitMQ 서비스를 허용하려면 다음 명령을 실행해야 합니다.

setsebool -P nis_enabled 1

웹 콘솔에 액세스

다음을 실행하여 RabbitMQ 웹 관리 콘솔을 활성화합니다.

rabbitmq-plugins enable rabbitmq_management

다음을 실행하여 RabbitMQ 사용자에게 RabbitMQ 파일의 소유권을 제공합니다.

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

이제 RabbitMQ 웹 관리 콘솔에 대한 관리 사용자를 생성해야 합니다. 동일하게 다음 명령을 실행하십시오.

rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

admin을 관리자 사용자의 기본 사용자 이름으로 변경합니다. StrongPassword를 매우 강력한 암호로 변경해야 합니다.

RabbitMQ의 관리 패널에 액세스하려면 선호하는 웹 브라우저를 사용하여 다음 URL을 엽니다.

http://Your_Server_IP:15672/

다음 로그인 페이지가 표시됩니다.

로그인하면 관리 대시보드가 표시됩니다.

대시보드의 관리 탭에서 사용자, 가상 호스트, 정책 목록을 찾을 수 있습니다. 보안상의 이유로 게스트 사용자를 삭제해야 합니다.

대기열 탭에서 메시지 대기열 목록을 찾을 수 있습니다. 이 인터페이스를 통해 새 대기열을 생성하거나 기존 대기열을 삭제할 수 있습니다.

연결 탭에서 현재 연결 목록을 찾을 수 있습니다.

마찬가지로 각 탭에서 채널과 교환을 찾을 수 있습니다.

결론

이제 프로세스, 서버 및 클라이언트 간의 메시지 큐잉을 위해 RabbitMQ를 쉽게 설치할 수 있습니다. RabbitMQ에 대해 자세히 알아보려면 RabbitMQ 사이트를 검색할 수 있습니다.