Solutions2009. 12. 15. 11:45

1. 설치 전 준비사항

시스템에 JDK가 설치되어 있어야 하고, JDK의 디렉토리 위치를 기억해 두어야 합니다.


2. 설치하기

GUI가 지원되는 설치 프로그램을 실행시키고 진행하다보면 다음과 같이 JDK의 경로를 입력하라는 창이 뜹니다. JDK가 설치된 올바른 경로를 입력합니다. 


관리자 패스워드를 넣는 창이 나옵니다. 이 패스워드는 나중에 JEUS를 설정하고 관리할 때 꼭 필요하니 기억해 두어야 합니다. 


3. JEUS 시작하기

3.1. JEUS Manager(노드) 실행하기
JEUS는 콘솔 창에서 <JEUS_HOME>/bin 디렉토리의 실행 파일인 jeus를 실행함으로써 시작합니다. 이 명령은 JEUS 서버를 작동시키고 JEUS Manager를 준비시킵니다.
콘솔의 로깅 메시지가 JEUS Manager is READY로 끝나 있다면 성공한 것입니다.

3.2. JEUS Web Admin 열어보기
JEUS Manager가 실행되고 있다면, JEUS Web Admin을 열어볼 수 있게 됩니다. 웹 브라우저를 통해 다음 주소로 들어갑니다:
http://localhost:9744/webadmin
그러면 로그인 화면이 뜨는데, 아이디는 administrator 이며, 패스워드는 JEUS 설치시 입력했던 패스워드입니다.
로그인에 성공하면 다음과 같은 화면이 나타납니다.

3.3. 노드 살펴보기
일반적인 방법으로 JEUS를 설치했다면, 한 시스템에 노드 하나가 있게 됩니다. 위에서 실행시킨 JEUS Manager 하나가 하나의 노드를 관리하도록 되어 있습니다. 노드라는 개념이 있는 이유는 클러스터링 환경을 고려한 것입니다. 따라서 일반적인 환경에서는 노드를 하나만 사용하도록 합니다. 위 그림에서는 'thendol1' 이라는 이름의 노드가 있습니다. 디폴트 노드 이름은 JEUS가 설치된 머신의 이름을 따릅니다.

3.4. 엔진 컨테이너 살펴보기
노드는 복수 개의 엔진 컨테이너를 가질 수 있습니다. 그러나 엔진 컨테이너 하나에는 수많은 애플리케이션을 배치할 수 있고, 배치된 애플리케이션을 재사용할 수도 있다는 점을 감안하면 특별한 이유가 없는 한 하나의 엔진 컨테이너만 사용해도 충분합니다.
JEUS의 엔진 컨테이너는 Java EE 5 개념잡기에서 설명한 컨테이너와는 설계가 약간 다릅니다. 애플리케이션 및 모듈을 배치하는 대상이 된다는 점에서는 같지만, 엔진이라는 개념이 있어서 어떤 엔진을 탑재시키는가에 따라 어떤 컨테이너의 역할을 하는지 결정되며, 하나의 엔진 컨테이너에 서로 다른 엔진을 중복해서 탑재시킬 수 있다는 점이 다릅니다. 다시 말해, 용도에 따라 다른 컨테이너들이 물리적으로 분리되어 있는 것이 아니라, 엔진 컨테이너 하나로 통합되어 사용된다는 의미입니다. 아래에서 좀 더 자세히 설명합니다.

3.5. 엔진 컨테이너 생성하기
그러면 노드에 엔진 컨테이너를 하나 생성해 보도록 하겠습니다.
노드를 클릭하면 아래 그림과 같이 다섯 개의 하위 항목이 나타납니다. 여기서는 엔진 컨테이너를 추가하고자 하니, 엔진 컨테이너 항목을 클릭해봅니다. 그러면 오른쪽 뷰에 다음과 같이 나타납니다:
위 그림에서는 thendol1_container1이라는 컨테이너가 이미 하나 있는 모양입니다. 컨테이너를 하나도 만들지 않은 상태라면 테이블이 비어 있을 것입니다. 테이블의 오른쪽 아래에 위치한 새 엔진 컨테이너 생성 링크를 클릭합니다:
컨테이너의 이름은 필수 항목이며, 엔진은 적어도 하나는 선택을 해야 합니다. 엔진 없이는 컨테이너가 의미가 없기 때문입니다. 다음은 엔진에 대하여 살펴봅니다.

3.6. 엔진 살펴보기
엔진을 탑재하면, 엔진 컨테이너는 해당 엔진이 제공하는 기능에 따라 Java EE 5에서 지정한 컨테이너의 역할을 할 수 있게 됩니다. 하나의 엔진 컨테이너는 복수 개의 엔진을 탑재할 수 있지만, 동일한 종류의 엔진이 두 개 이상 탑재될 수는 없습니다.
   a) JEUS에서 제공하는 엔진에는 4가지가 있습니다:
      - EJB 엔진
      - 서블릿 엔진
      - JMS 엔진
      - 웹 서버 엔진
엔진 컨테이너로 하여금 아파치 톰캣과 같은 웹 서버 역할만을 하도록 하려면, 이중에서 웹 서버 엔진과 서블릿 엔진을 탑재시키면 됩니다.
주의할 점은, 웹 서버 엔진은 하나의 노드에서 하나의 엔진 컨테이너만이 가질 수 있는데, 위 그림에서는 기존의 엔진 컨테이너에 웹 서버 엔진이 탑재되어 있으므로, 새로 생성하는 엔진 컨테이너의 엔진 추가 테이블에서는 제외된 것입니다.

3.7. 엔진 컨테이너 시작하기
어떤 웹 서버에서는 브라우저로 admin 화면을 볼 수 있으면 곧 애플리케이션을 탑재하여 사용할 수 있다는 의미가 되지만 JEUS에서는 그렇지 않습니다.
JEUS에서는 웹 admin 화면을 볼 수 있다는 것은 단지 JEUS Manager가 실행되고 있다는 의미에 불과하며, 애플리케이션을 배치하여 사용하려면 엔진 컨테이너를 시작해 주어야 합니다.
다시 3.5 섹션에서의 그림을 보면, 오른쪽에 "시작" 버튼과 "다운" 버튼이 있습니다. 여기서 시작 버튼을 눌러 주면 엔진 컨테이너가 시작됩니다.

3.8. One-step Booting 실행하기
JEUS를 사용할 때마다 jeus 명령을 실행한 후에 다시 엔진 컨테이너를 구동하는 방식은 개발 환경이라면 번거로운 일이 아닐 수 없습니다. 다음과 같이 jeus 명령에 사용자 이름과 패스워드를 옵션으로 지정하면 노드가 가지고 있는 모든 엔진 컨테이너를 시작하는 단계까지 한 번에 완료해 줍니다:
jeus -Uadministrator -P<password>
이 명령은 흔히 jboot 라는 배치 파일 혹은 스크립트 파일로 저장하여 사용합니다.

3.9. One-step Down 실행하기
JEUS는 복수 개의 JVM을 사용하므로 애플리케이션 강제 종료 방법(ctrl + C와 같은)을 사용하면 JEUS 재시작시 에러가 발생할 수가 있습니다. 따라서 다음 명령을 사용하여 올바르게 종료해 주어야 합니다:
jeusadmin <node-name> -Uadministrator -P<password> jeusexit
이 명령은 jdown 이라는 배치 파일 혹은 스크립트 파일로 저장하여 사용합니다.

3.10. 엔진 컨테이너 시작 성공 메시지
엔진 컨테이너의 시작에 성공했다면 다음과 같은 메시지를 보게 됩니다:
engine container[thendol1_container1] is READY
engine container[thendol1_container1] initializatioin successfuly done [pid : 3596]

원스텝 부팅을 사용했으면 추가로 다음 메시지를 볼 수 있습니다:
JeusServer one-step booting successful : [thendol1_container1]

Posted by Bankie