웹사이트 검색

CentOS 7에 Apache ActiveMQ를 설치하는 방법


이 페이지에서

  1. 기본 시스템 업데이트
  2. JAVA 설치
  3. ActiveMQ 설치
  4. ActiveMQ 시작
  5. 체계화된 서비스 만들기\n
  6. 관리자 웹 패널 사용
  7. 결론

Apache ActiveMQ는 무료 오픈 소스 메시지 브로커이자 통합 패턴 서버입니다. JAVA, C++, C, Python, Perl, PHP 등의 많은 교차 언어 클라이언트 및 프로토콜을 지원합니다. 메시지 그룹, 가상 대상, 와일드카드 및 복합 대상 등과 같은 많은 기능을 제공합니다. 스프링 애플리케이션에 쉽게 통합할 수 있습니다.

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

전제 조건

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

기본 시스템 업데이트

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

yum -y update

시스템이 업데이트되면 계속 진행하여 JAVA를 설치합니다.

자바 설치

ActiveMQ는 OpenJDK와 Oracle JAVA를 모두 지원합니다. 이 자습서에서는 최신 버전의 Oracle Java를 서버에 설치합니다. 다음 명령을 실행하여 RPM 패키지를 다운로드합니다.

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

wget이 설치되어 있지 않은 경우 yum -y install wget을 실행하여 wget을 설치할 수 있습니다. 이제 다음 명령을 사용하여 다운로드한 RPM을 설치합니다.

yum -y localinstall jdk-8u131-linux-x64.rpm

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

java -version

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

[ ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

또한 JAVA_HOME 환경 변수가 설정되어 있는지 확인해야 합니다. 동일하게 다음 명령을 실행하십시오.

echo $JAVA_HOME

null 또는 빈 출력이 표시되면 JAVA_HOME 변수를 수동으로 설정해야 합니다. 선호하는 편집기를 사용하여 .bash_profile 파일을 편집합니다. 이 자습서에서는 나노 편집기를 사용합니다. nano를 사용하여 .bash_profile을 편집하려면 다음 명령을 실행하십시오.

nano ~/.bash_profile

이제 파일 끝에 다음 행을 추가하십시오.

export JAVA_HOME=/usr/java/jdk1.8.0_131/
export JRE_HOME=/usr/java/jdk1.8.0_131/jre

이제 다음 명령을 사용하여 파일을 소싱합니다.

source ~/.bash_profile

이제 echo $JAVA_HOME 명령을 다시 실행하여 환경 변수가 설정되었는지 여부를 확인할 수 있습니다.

[ ~]# echo $JAVA_HOME 
/usr/java/jdk1.8.0_131/

ActiveMQ 설치

ActiveMQ는 미리 컴파일되어 직접 사용할 수 있는 Unix 시스템용 바이너리를 제공합니다. 유일한 필수 종속성은 시스템에 JAVA를 설치하는 것이었습니다. JAVA를 설치했으므로 ActiveMQ 다운로드를 계속 진행할 수 있습니다.

wget http://www-eu.apache.org/dist//activemq/5.15.0/apache-activemq-5.15.0-bin.tar.gz

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

다음 명령을 사용하여 아카이브를 추출하십시오.

tar -zxvf apache-activemq-*-bin.tar.gz -C /var

단순성을 위해 다음을 실행하여 ActiveMQ 디렉터리의 이름을 변경합니다.

mv /var/apache-activemq-*/ /var/activemq/

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

ActiveMQ 시작하기

현재 디렉터리를 ActiveMQ 설치 디렉터리로 변경합니다.

cd /var/activemq

다음 명령을 실행하여 ActiveMQ를 포그라운드 프로세스로 즉시 시작할 수 있습니다.

./bin/activemq console

ActiveMQ를 백그라운드 프로세스로 시작하려면 다음을 실행합니다.

./bin/activemq start

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

[ activemq]# ./bin/activemq start
INFO: Loading '/var/activemq//bin/env'
INFO: Using java '/usr/java/jdk1.8.0_131//bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '27680')

ActiveMQ를 중지하려면 다음 명령을 실행할 수 있습니다.

./bin/activemq stop

체계적인 서비스 만들기

위의 명령을 사용하여 ActiveMQ를 쉽게 실행할 수 있지만 ActiveMQ 프로세스 관리를 위해 systemd 서비스를 사용하는 것이 좋습니다. Systemd 서비스를 사용하면 부팅 시 및 실패 시 ActiveMQ가 자동으로 시작됩니다.

즐겨 사용하는 텍스트 편집기를 사용하여 시스템 서비스 파일을 만듭니다. 이 자습서에서는 나노 편집기를 사용합니다. nano가 설치되어 있지 않으면 yum -y install nano를 실행할 수 있습니다.

nano /etc/systemd/system/activemq.service

이제 파일을 다음 내용으로 채웁니다.

[Unit]
Description=ActiveMQ service
After=network.target

[Service]
Type=forking
ExecStart=/var/activemq/bin/activemq start
ExecStop=/var/activemq/bin/activemq stop
User=root
Group=root
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=activemq

[Install]
WantedBy=multi-user.target

이제 다음을 사용하여 ActiveMQ를 시작할 수 있습니다.

systemctl start activemq

부팅 시 자동으로 시작되도록 ActiveMQ를 구성하려면 다음을 사용하십시오.

systemctl enable activemq

ActiveMQ 서비스가 올바르게 시작되었는지 확인하려면 다음 명령을 실행하여 ActiveMQ 서비스의 상태를 확인할 수 있습니다.

systemctl status activemq

아래와 비슷한 출력이 표시되어야 합니다.

? activemq.service - ActiveMQ service
   Loaded: loaded (/etc/systemd/system/activemq.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-07-15 17:05:24 UTC; 6s ago
  Process: 28815 ExecStart=/var/activemq/bin/activemq start (code=exited, status=0/SUCCESS)
 Main PID: 28867 (java)
   CGroup: /system.slice/activemq.service
           ??28867 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth...

Jul 15 17:05:24 centos systemd[1]: Starting ActiveMQ service...
Jul 15 17:05:24 centos activemq[28815]: INFO: Loading '/var/activemq//bin/env'
Jul 15 17:05:24 centos activemq[28815]: INFO: Using java '/usr/bin/java'
Jul 15 17:05:24 centos activemq[28815]: INFO: Starting - inspect logfiles specified in logging.propertie...tails
Jul 15 17:05:24 centos activemq[28815]: INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '28867')
Jul 15 17:05:24 centos systemd[1]: Started ActiveMQ service.

관리자 웹 패널 사용

ActiveMQ의 관리 패널에 액세스하려면 ActiveMQ 서비스를 시작하십시오. 선호하는 웹 브라우저를 사용하여 다음 URL을 엽니다.

http://Your_Server_IP:8161/admin

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

firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload

Apache ActiveMQ의 초기 사용자 이름과 암호는 admin 및 admin입니다. 로그인하면 다음과 같은 인터페이스가 표시됩니다.

로그인하는 즉시 비밀번호를 변경해야 합니다.

결론

이제 Apache ActiveMQ 서버를 사용하여 여러 클라이언트와 서버 간의 통신을 관리할 수 있습니다. ActiveMQ 사이트로 이동하여 Apache ActiveMQ에 대해 자세히 알아볼 수 있습니다.