1. WebToB의 가상호스트 설정
1.1 환경설정파일(sample.m)을 추가, 컴파일
*VHOST
vhost1 HostName="test.tmax.co.kr",
DOCROOT="C:/TmaxSoft/edu02", # 웹서비스 파일 위치 지정
NODENAME="respect04",
PORT="80", # URL 이름이 같은 경우 포스번호를 다르게 설정해야 함. 현재는 호스트네이임이 다르므로 포스번호가 같아도 상관없다
IndexName="test.html", # Wellcome page 설정
KeepAlive=Y, # KeepAlive와 KeepAliveTimeout은 같이 사용해야 함(set 구성)
KeepAliveTimeout=30
1.2 윈도우 hosts 파일에 가상호스트 설정 (실제 서비스할 경우 DNS서버에 추가)
(C:\WINDOWS\system32\drivers\etc\hosts)
추가 => 127.0.0.1 test.tmax.co.kr
1.3 기동 후 테스트
1) sample.m 컴파일(wscfl -i sample.m)
2) ws 재기동
3) C:/TmaxSoft/edu02에 test.html 추가
4) 웹에서 test.html 확인 url=http://test.tmax.co.kr
# 알아둡시다
- sample.m에서 정의된 *NODE는 localhost(127.0.0.1)이다.
- sample.m에서 정의되지 않은 기본설정 확인은 wsadmin에서 cfg명령어로 확인한다
cfg -n : Node 환경설정
cfg -vh : vhost 환경설정 (sample.m에 *VHOST가 정의 되었을 때만 사용)
- 기본설정을 변경할 경우 cfg에서 보여진 명령어를 sample.m에 재정의한다
- DOCROOT의 디렉토리 구분은 '\'이 아니라 '/'로 구분한다
2. WebToB의 가상호스트와 JEUS연동설정
2.1 가상호스트를 인식 시키기 위한 WebToB설정
sample.m에 정의
*SVRGROUP
v_jsvg NODENAME = "respect04", SVRTYPE = JSV, VHOSTNAME="vhost1" #가상호스트에서 인식
*SERVER #컨테이너 그룹명과 연동정의 및 몇개의 프로세스 사용할 것인가 정의
v_MyGroup SVGNAME = v_jsvg, MinProc = 10, MaxProc = 20 # 가상호스트 MyGroup
2.2 JEUS 설정
2.2.1 웹관리자 이용 시
1) 새 웹 리스너 생성
경로 : 서블릿엔진 - MyGroup - 웹리스너
2) 설정
- Listener Id : alias 명
- PORT : 기존 webtob 포트번호와 다르게 설정
- 스레드풀 : max, min은 sample.m *SERVER에서 정의한 내용과 동일하게 처리
- Webtob Address : 해당 Listener와 연결되는 WebtoB서버의 IP어드레스
- Registration Id : sample.m *SERVER에서 정의한 그룹ID
- Webtob Home : C:\TmaxSoft\WebtoB4.1 => webtob가 설치되어 있는 home 디렉토리
2.2.2 서블릿 WEBMain.xml 정의
<webtob-listener>
<listener-id>v_webtob1</listener-id>
<port>9901</port>
<thread-pool>
<min>10</min>
<max>20</max>
</thread-pool>
<scheme>http</scheme>
<registration-id>v_MyGroup</registration-id>
<webtob-home>C:\TmaxSoft\WebtoB4.1</webtob-home>
</webtob-listener>
3. 컨테이너 추가 (웹관리자) 후 WebToB 연동
3.1 새 엔진 컨테이너 생성
- Name : container3
- ID, BasePort
- 서블릿 엔진 : engine2
- 리스너 ID/서버 채널 이름 : http2 (#http 리스너를 반드시 추가하세요.)
- 리스너/서버 채널 포트 : 8087
3.2 새 어플리케이션 모듈 배치 - 모듈 선택
- 2단계 배치
- 영구배치는 J2EE 어플리케이션 모듈 배치에서 영구배치를 클릭 시
에디터아이콘을 선택하여 영구 모듈 디플로이 컨테이너대상을 설정
3.3 추가한 컨테인너 서블릿 WEBMain.xml 정의
<?xml version="1.0" encoding="UTF-8"?>
<web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
<context-group>
<group-name>MyGroup</group-name>
<webserver-connection>
<http-listener>
<listener-id>http2</listener-id>
<port>8087</port>
<output-buffer-size>8192</output-buffer-size>
<thread-pool>
<min>10</min>
<max>20</max>
</thread-pool>
</http-listener>
<webtob-listener>
<listener-id>v_webtob1</listener-id>
<port>9901</port>
<thread-pool>
<min>10</min>
<max>20</max>
</thread-pool>
<scheme>http</scheme>
<registration-id>v_MyGroup</registration-id>
<webtob-home>C:\TmaxSoft\WebtoB4.1</webtob-home>
</webtob-listener>
</webserver-connection>
</context-group>
</web-container>
4. 서블릿 작성/실행하기
4.1 HelloWorldServlet.java 작성
==============================================================================
package tmax;
import! java.io.*;
import! javax.servlet.*;
import! javax.servlet.http.*;
public class HelloWorldServlet extends HttpServlet
{
protected void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException,
java.io.IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hellow World Sample</title>");
out.println("</head>");
out.println("<body>");
out.println("<center><h1>Hello World!!!</h1></center>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
================================================================================
4.2 컴파일
C:\TmaxSoft\edu01\WEB-INF\classes>javac -d . H*.java
4.3 실행
http://127.0.0.1:8088/edu01/servlets/tmax/HelloWorldServlet
4.4. web.xml에 서블릿명 추가(HelloWorld)
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>tmax.HelloWorldServlet</servlet-class>
<load-on-startup>-1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/helloworld/</url-pattern>
</servlet-mapping>
4.5 실행
http://127.0.0.1:8088/edu01/HelloWorld
5. WebToB에서 서블릿을 실행하기 위한 url 설정
5.1 sample.m 파일 수정
*URI
uri2 Uri = "/edu01/", Svrtype = JSV #url에 edu01이 들어간 문자는 서블릿을 실행하게 한다
5.2 실행
http://127.0.0.1/edu01/HelloWorld
=============================================================================================
[실습]
하나의 JEUS 노드에서 2개의 업무를 개발하려고 합니다
두개의 업무를 별도로 JVM에서 관리하기 위해서
edujeus01 컨텍스트를 container3에 배치하고
edujeus02 컨텍스트를 container4에 배치하려고 합니다
각각의 업무에 서 사용하는 도메인은 http://edujeus01.tmax.co.kr, http://edujeus02.tmax.co.kr 이며
가상호스트 기능을 사용할 것입니다
JEUS와 WebtoB가 연동된 환경을 구성하세요
http://edujeus01.tmax.co.kr로 요청 시 edujeus01 컨텍스트가 호출되고
http://edujeus02.tmax.co.kr로 요청 시 edujeus02 컨텍스트가 호출되고 설정하세요
6. 실습방법
6. WebtoB 설정
- 가상호스트 등록
윈도우의 hosts 파일에 등록후 테스트
- SVRGROUP, SERVER 추가
- 컴파일 후 재기동!!
6.2 JEUS 설정
- Container3,Container4 추가
- Context 생성/등록 : edujeus01, edujeus02
- Context path를 Root(/)로 수정해주세요.
수정파일은 해당 컨텍스트의 jeus-web-dd.xml
- 해당 컨테이너에서 WebtoB 리스너를 생성
WebtoB의 address, registration-id 지정!!
6.3 연동 테스트
- wsadmin : si, st -p
- 브라우저를 이용하여 실습
http://edujeus01.tmax.co.kr/test.jsp
http://edujeus02.tmax.co.kr/test.jsp
=============================================================================================