본문으로 건너뛰기

웹서버, WAS 작동 및 상태 확인

웹서버 작동 및 상태 확인

$ cd /svc/test/web/instances/test01/
명령명령어
시작$ ./apachectl start
종료$ ./apachectl stop
재시작$ ./apachectl restart
상태체크$ ./apachectl status
프로세스 확인*$ ps –ef \

WAS 작동 및 상태 확인

$ cd svc/test/was/domains/$SERVER_NAME/*.sh
스크립트 파일설명
env.shJBoss 운영환경 주요 환경 설정 스크립트
start.shJBoss Standalone 인스턴스 실행 스크립트
shutdown.shJBoss Standalone 인스턴스 정상 종료 스크립트
kill.shJBoss 강제 종료 스크립트
nohup.shnohup 로그의 tail 보기 스크립트
tail.shJBoss server.log 파일 tail 보기 스크립트
status.shJBoss 인스턴스가 실행중인지 체크하는 스크립트
jboss-cli.shJBoss CLI 모드로 접속하는 스크립트
jconsole.shJConsole로 접속하여 JMX Bean 정보를 확인하기 위한 스크립트(GUI 환경 필요)
add-user.sh사용자를 추가하기 위한 스크립트
dump.sh인스턴스 장애시 Java Process의 Thread Dump를 받기 위한 스크립트
encrypt.sh데이터베이스 접속 패스워드를 암호화하기 위한 스크립트
jdr.shJBoss Diagnostics Report를 생성하는 스크립트

EPEL(Extra Packages for Enterprise Linux)는 RHEL, CentOS에 제공되는 추가 패키지에 대한 레파지토리이다.

#OPENMARU Installer을 RHEL 6.x나 CentOS 6.x에 설치할 경우 EPEL 레파지토리를 설정#하여야 한다.

  • RHEL 6.x, CentOS 6.x에서는 아래 명령을 실행하여 EPEL을 설치하여야 한다.
$ wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ yum localinstall epel-release-6-8.noarch.rpm

설치

OPENMARU Installer 제품 설치

EPEL 레파지토리가 설정되었다면, yum 명령으로 OPENMARU Installer을 설치할 수 있다.

$ sudo yum install khan-provisioning-cli
 Loaded plugins: langpacks, refresh-packagekit
opennaru | 951 B 00:00
opennaru/x86_64/primary | 1.3 kB 00:00
opennaru 1/1
Resolving Dependencies
*/} Running transaction check
-*/} Package khan-provisioning-cli.noarch 0:1.0.0-99 will be installed
… 중략 …
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
khan-provisioning-cli noarch 1.0.0-99 opennaru 107 M
Installing for dependencies:
PyYAML x86_64 3.10-7.fc19 fedora 157 k
================================================================================
Install 1 Package (+8 Dependent packages)
Total download size: 111 M
Installed size: 134 M
Is this ok [y/d/N]: **y**
Downloading packages:
(1/9): libyaml-0.1.4-4.fc19.x86_64.rpm | 54 kB 00:01
(2/9): PyYAML-3.10-7.fc19.x86_64.rpm | 157 kB 00:02
… 중략 …
python-paramiko.noarch 0:1.10.1-1.fc19 sshpass.x86_64 0:1.05-4.fc19
Complete!

OPENMARU Installer 제품은 /opt/khan/provisioning/cli 디렉토리에 설치된다.

제품 업데이트

OPENMARU Installer이 업그레이드되었다면, yum update 명령으로 제품을 업그레이드 할 수 있다.

$ yum update

만약 사용자 PC에 있는 yum 레파지토리 정보 캐시를 제거하고 update를 하려면 다음과 같은 명령으로 캐시를 삭제한 후 update하면 레파지토리 메타데이터를 다시 다운로드 받아 설치할 수 있다. clean 명령은 Update 주기가 짧을 때 사용할 수 있다.

$ yum clean expire-cache
$ yum update

디렉토리 구조

OPENMARU Installer 제품은 /opt/khan/provisioning/cli 디렉토리에 설치되며, 하위 디렉토리 구조는 아래와 같다.

OPENMARU Installer 홈 디렉토리

OPENMARU Installer실행 로그

설치된 설정과 설치 보고서가 보관됨

설치에 사용할 제품 설정 파일 위치

설치에 사용할 제품 바이너리 파일 위치

라이선스 발급 및 설치

OPENMARU Installer을 사용하려면 sales@openmaru.io로 연락하여 라이선스를 발급받는다.

발급된 라이선스는 문자열로 /opt/khan/provisioning/cli/license.lic 파일에 저장한다.

  • /opt/khan/provisioning/cli/license.lic
$ vi /opt/khan/provisioning/cli/license.lic
bmF0dXJlQ29udGVudHEAfgABeHB1cgACW0Ks8xf4BghU4AIAeHhwAAAA0PauuX7h
rO0ABXNdADFuZXQubmljaG9sYXN3aWxsaWFtcy5qYXZhLmxpY2Vuc2luZy5TaWdu
i12ooa8wDjfBsBl1cQB+AAMAAAEACUMfQQ7YR8s2cADv4Er0UdI4a29BgxVi9Vl4
+cUk+5hK0VmpZpuD5a0q6yZQQ7las6I5Sg6pf4kMFvsdFrmXfICjnKbT0A8GvZRy
9Zc85eQyExeSIBtwXwyvBjSX6zex9q7cbqouaAD3JVFBQ0r80cgSBFgg+AS8ErrH
e1nQI0SfYlNpfmehMVkctNLzlVx1eHypgOcvUERvUlVbUregsQ==

필요파일 다운로드

access.redhat.com 계정을 입력하면 자동으로 다운로드 한다.

OPENMARU Installer은 JBoss EAP, EWS 바이너리를 함께 배포하지 않는다. JBoss 제품은 Red Hat 의 JBoss Subscription을 구매하여야 http://access.redhat.com 에서 다운로드 할 수 있다. OPENMARU Installer을 실행하면, 먼저 설치에 필요한 파일들이 있는지 체크하고 없으면 http://access.redhat.com에서 다운로드 받기 위해 access.redhat.com의 아이디와 패스워드를 묻는다. 설치에 필요한 파일들을 모두 다운로드 한다. JDK 파일도 Oracle 홈페이지에서 자동으로 다운로드 한다.

다운로드는 맨 처음 실행시에만 다운로드 하며, 이후에는 다운로드 하지 않는다.

먼저 다운로드 받아 놓은 파일들이 있으면 /opt/khan/provisioning/cli/files 디렉토리에 파일을 저장하면 된다.

  • 미리 다운로드 받은 JBoss EAP 6.2.0 파일들이 있으면 아래 디렉토리에 복사한다.
/opt/khan/provisioning/cli/files/jboss-eap/6.2.0에 복사할 JBoss EAP파일명설명
jboss-eap-6.2.0.zipJBoss EAP 6.2
jboss-eap-native-6.2.0-RHEL5-x86_64.zipRHEL 5용 Native 컴포넌트
jboss-eap-native-6.2.0-RHEL5-i386.zipRHEL 5 32bit용 Native 컴포넌트
jboss-eap-native-6.2.0-RHEL6-x86_64.zipRHEL 6용 Native 컴포넌트
jboss-eap-native-6.2.0-RHEL6-i386.zipRHEL 6 32bit용 Native 컴포넌트
jboss-eap-native-utils-6.2.0-RHEL5-x86_64.zipRHEL 5용 Native 유틸리티
jboss-eap-native-utils-6.2.0-RHEL5-i386.zipRHEL 5 32bit용 Native 유틸리티
jboss-eap-native-utils-6.2.0-RHEL6-x86_64.zipRHEL 6용 Native 유틸리티
jboss-eap-native-utils-6.2.0-RHEL6-i386.zipRHEL 6 32bit용 Native 유틸리티
jboss-eap-native-webserver-connectors-6.2.0-RHEL5-x86_64.zipRHEL 5용 웹서버 커넥터
jboss-eap-native-webserver-connectors-6.2.0-RHEL5-i386.zipRHEL 5 32bit용 웹서버 커넥터
jboss-eap-native-webserver-connectors-6.2.0-RHEL6-x86_64.zipRHEL 6용 웹서버 커넥터
jboss-eap-native-webserver-connectors-6.2.0-RHEL6-i386.zipRHEL 6 32bit용 웹서버 커넥터
  • 미리 다운로드 받은 JBoss EAP 6.1.0 파일들이 있으면 아래 디렉토리에 복사한다.
/opt/khan/provisioning/cli/files/jboss-eap/6.1.0에 복사할 JBoss EAP파일명설명
jboss-eap-6.1.0.zipJBoss EAP 6.1
jboss-eap-native-6.1.0-RHEL5-x86_64.zipRHEL 5용 Native 컴포넌트
jboss-eap-native-6.1.0-RHEL5-i386.zipRHEL 5 32bit용 Native 컴포넌트
jboss-eap-native-6.1.0-RHEL6-x86_64.zipRHEL 6용 Native 컴포넌트
jboss-eap-native-6.1.0-RHEL6-i386.zipRHEL 6 32bit용 Native 컴포넌트
jboss-eap-native-utils-6.1.0-RHEL5-x86_64.zipRHEL 5용 Native 유틸리티
jboss-eap-native-utils-6.1.0-RHEL5-i386.zipRHEL 5 32bit용 Native 유틸리티
jboss-eap-native-utils-6.1.0-RHEL6-x86_64.zipRHEL 6용 Native 유틸리티
jboss-eap-native-utils-6.1.0-RHEL6-i386.zipRHEL 6 32bit용 Native 유틸리티
jboss-eap-native-webserver-connectors-6.1.0-RHEL5-x86_64.zipRHEL 5용 웹서버 커넥터
jboss-eap-native-webserver-connectors-6.1.0-RHEL5-i386.zipRHEL 5 32bit용 웹서버 커넥터
jboss-eap-native-webserver-connectors-6.1.0-RHEL6-x86_64.zipRHEL 6용 웹서버 커넥터
jboss-eap-native-webserver-connectors-6.1.0-RHEL6-i386.zipRHEL 6 32bit용 웹서버 커넥터
  • 미리 다운로드 받은 JBoss EWS 2.0.1 파일들이 있으면 아래 디렉토리에 복사한다.
/opt/khan/provisioning/cli/files/jboss-ews/2.0.1에 복사할 JBoss EWS파일명설명
jboss-ews-httpd-2.0.1-RHEL5-x86_64.zipRHEL 5용 JBoss EWS
jboss-ews-httpd-2.0.1-RHEL5-i386.zipRHEL 5 32bit용 JBoss EWS
jboss-ews-httpd-2.0.1-RHEL6-x86_64.zipRHEL 6용 JBoss EWS
jboss-ews-httpd-2.0.1-RHEL6-i386.zipRHEL 6 32bit용 JBoss EWS
  • 미리 다운로드 받은 Oracle JDK 1.6, 1.7 파일들이 있으면 아래 디렉토리에 복사한다.
/opt/khan/provisioning/cli/files/jdk 에 복사할 JDK파일명설명
/opt/khan/provisioning/cli/files/jdk/1.6/jdk-6u45-linux-amd64.rpmLinux x86_64용 JDK 1.6
/opt/khan/provisioning/cli/files/jdk/1.6/jdk-6u45-linux-i586.rpmLinux 32bit용 JDK 1.6
/opt/khan/provisioning/cli/files/jdk/1.7/jdk-7u25-linux-x64.rpmLinux x86_64용 JDK 1.7
/opt/khan/provisioning/cli/files/jdk/1.7/jdk-7u25-linux-i586.rpmLinux 32bit용 JDK 1.7

빠른 설정 및 실행

설정 파일 수정

$ cd /opt/khan/provisioning/cli
$ cp hosts-jboss.sample hosts-jboss
$ vi hosts-jboss

대상 서버 IP 설정

예를 들어 IP가 *192.168.0.20**이고 호스트 이름이 *test01인 서버에 JBoss EAP와 JBoss EWS를 모두 설치한다면, 다음과 같이 hosts 파일의 IP와 호스트 이름을 변경한다.

[jboss-eap] 섹션은 JBoss EAP가 설치될 서버를 의미하며, [jboss-ews] 섹션은 JBoss EWS가 설치될 서버를 의미한다.

/opt/khan/provisioning/cli/hosts-ews-httpd-jboss-eap.sample 파일을 복사하여 수정한다.

$ cd /opt/khan/provisioning/cli/
$ cp hosts-ews-httpd-jboss-eap.sample hosts-test
$ vi hosts-test

파일 내에서 ‘#’으로 시작하는 라인은 주석이다.

 # --------------------------------------------------------
# OPENMARU Installer - JBoss EAP 6.1, EWS 2.0.1
# Apache Tomcat 7.0.42, Apache HTTPD 2.2.25
#
# contact : service@opennaru.com
# Copyright(C) 2013, opennaru.com
# --------------------------------------------------------
# /========================================================/ #
# /********************************************************************************************/ #
# JBoss EAP 6.1.1
# /========================================================/ #
# --------------------------------------------------------
# JBoss EAP Hosts
# --------------------------------------------------------
# JBoss EAP를 설치할 머신의 IP를 지정합니다.
#
# seq는 머신의 번호로 0부터 일련번호 숫자를 지정합니다.
# --------------------------------------------------------
#
[jboss-eap]
# ========================================================
192.168.0.20 seq=0
… 중략 …
#
# domain controller가 될 서버의 IP 주소
#
domain_controller=192.168.0.20
… 중략 …
# /========================================================/ #
# /********************************************************************************************/ #
# JBoss EWS 2.0.1
# /========================================================/ #
# --------------------------------------------------------
# JBoss EWS Hosts
# --------------------------------------------------------
[jboss-ews]
# ========================================================
# EWS가 설치될 서버 IP 목록
# wseq는 머신의 번호로 0부터 일련번호 숫자를 지정합니다.
# --------------------------------------------------------
192.168.0.20 wseq=0
# ========================================================

JBoss EAP 설치하기

khan-provisioning-cli를 실행하고 아래 명령을 입력하면, 대상 서버에 JBoss EAP가 설치된다.

명령어 입력 시에는 앞의 몇 글자를 입력하고 [TAB] 키를 누르면, 명령어가 자동 완성된다.

$ cd /opt/khan/provisioning/cli**
 [root@opennaru cli]# ./khan-provisioning-cli
 ==================================================
오 픈 나 루 OPENMARU Installer 라이센스 정보
--------------------------------------------------
* 회사명 : 오픈나루 주식회사
* 사용자 : 홍길동
* 이메일 : service@opennaru.com
* 핸드폰 : 010-1234-1234
* 제품명 : OPENMARU Installer
* 발행자 : opennaru.com
* 시작일 : 2013.08.01 00:00
* 종료일 : 2013.12.31 23:59
==================================================

.----------------. .----------------. .----------------. .-----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| | ___ ____ | || | ____ ____ | || | __ | || | ____ _____ | |
| | |_ ||_ _| | || | |_ || _| | || | / \ | || ||_ \|_ _| | |
| | | |_/ / | || | | |__| | | || | / /\ \ | || | | \ | | | |
| | | __'. | || | | __ | | || | / ____ \ | || | | |\ \| | | |
| | _| | \ \_ | || | _| | | |_ | || | _/ / \ \_ | || | _| |_\ |_ | |
| | |____||____| | || | |____||____| | || ||____| |____|| || ||_____|\____| | |
| | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------'
Version:1.0.0-99
opennaru.com OPENMARU Installer
khan-provisioning> **action --package JBossEAPStandaloneMode --command setup --user root --component all --inventory hosts-jboss**
----------------------------------------------------------------
* JBoss EAP를 설치할 서버 리스트
> 192.168.0.20 machine_id=1 is_eap_first_server=true
----------------------------------------------------------------
* 설치에 사용할 템플릿 이름 : default
* JBoss WAS 설치디렉토리 : /svc/test/was
* JBoss 인스턴스 구성디렉토리 : /svc/test/was/domains
* JBoss 로그 디렉토리 : /svc/test/logs/was
* 서버당 JBoss 인스턴스 개수 : 3
* JBoss 인스턴스 이름 : server
* JBoss 도메인 설정
> 도메인 인스턴스 프로파일 : full-ha
> 도메인 컨트롤러 IP : 192.168.0.20
> 도메인 컨트롤러 Hostname : opennaru
> 도메인 서버그룹 이름 : server-group
* JBoss Standalone 설정
> Standalone 프로파일 : standalone-ha.xml
> Standalone 외부 배포디렉토리 : /svc/test/was/domains/applications
* 설치할 Java 버전 : 1.6
* Java 메모리 옵션 :
> Heap Min : 64m
> Heap Max : 128m
> PermGen Max : 256m
* JBoss 데이터소스 설정 :
> Driver 이름 : mysql
> 연결풀 이름 : testDS
> JNDI 이름 : java:jboss/datasources/testDS
> Connection URL : jdbc:mysql://192.168.0.22:3306/test
> 연결풀 Min 개수 : 10
> 연결풀 Max 개수 : 250
> User : root
> Password :
> Prepared Statement Cache Size : 200
* 세션 복제 형식 :
> 웹 세션복제 : repl
> EJB 세션복제 : repl
> 클러스터링 방식 : udp
> 세션 복제 멀티캐스트 IP : 230.1.1.1
> JMS 멀티캐스트 IP : 231.7.1.1
> mod_cluster 멀티캐스트 IP : 224.1.1.105
>>>>> 설정을 변경하시려면, /opt/khan/provisioning/cli/hosts 파일을 수정하십시오.
>>>>> 설치에 사용할 설정은 위와 같습니다. 설치를 계속할까요? (Y/n) **[엔터]**
SSH password: **[패스워드입력]**
… 중략…

JBoss EWS설치하기

khan-provisioning-cli를 실행하고 아래 명령을 입력하면, 대상 서버에 JBoss EWS가 설치된다.

khan-provisioning> action --package JBossEAPEWSHTTPD --command setup --user root --component all--inventory hosts-jboss
----------------------------------------------------------------
* JBoss EWS를 설치할 서버 리스트
> 192.168.0.20 machine_id=1 is_ews_first_server=true
----------------------------------------------------------------
* JBoss EWS 설치에 사용할 템플릿 이름 : default
* JBoss EWS를 설치할 디렉토리 : /svc/test/web
* JBoss EWS 로그 디렉토리 : /svc/test/logs/web
* JBoss EAP 연결 방식 : mod_jk
* mod_cluster 멀티캐스트 IP : 224.1.1.105
----------------------------------------------------------------
* JBoss EAP 연결 설정시 mod_jk에서 사용하는 JBoss EAP 서버 리스트
> 192.168.0.20 machine_id=1 is_eap_first_server=true
----------------------------------------------------------------
>>>>> 설정을 변경하시려면, /opt/khan/provisioning/cli/hosts 파일을 수정하십시오.
>>>>> 설치에 사용할 설정은 위와 같습니다. 설치를 계속할까요? (Y/n)
SSH password: [패스워드입력]
… 중략…

웹서버에 접속하여 확인

http://192.168.0.20/에 접속하면 다음과 같이 OPENMARU Installer이 자동 생성한 초기화면이 출력된다. Standalone으로 설치된 각 인스턴스의 웹 관리 콘솔에 접속하는 URL들과 세션 복제를 테스트하기 위한 session.war 애플리케이션에 접속하기 위한 URL들이 출력된다. 웹서버와 EAP의 연결은 mod_jk(기본값)을 이용하여 연결되었고, mod_jk의 연결 상태를 확인하기 위한 jkstatus 접속 URL도 제공된다.

  • mod_jkmod_cluster를 선택하였을 때 생성되는 index.html 파일
  • mod_cluster_manager 페이지와 mod_jkjkstatus 페이지

다음 장에서는 기본값을 변경하여 상세히 설정하는 방법을 살펴보자.

session.war내에 index.jsp 파일은 세션 정보를 출력하는 페이지이고, dstest.jsp 파일은 데이터 소스 연결을 테스트하는 애플리케이션이다.

  • session/index.jsp 세션정보 페이지
  • session/dstest.jsp 데이터소스 연결 테스트 페이지