시작하기
라이선스별 지원 기능
WebtoB는 라이선스 타입별로 다음과 같은 기능을 제공합니다.
| 라이선스 타입 | 설명 |
|---|---|
TRIAL |
인스톨러로 설치한 WebtoB에는 기본적으로 트라이얼 라이선스(Trial License)가 내장되어 있습니다. HTH는 1개, 최대 사용자 수는 5개로 제한됩니다. |
BASE |
JEUS의 내장 WebtoB로 사용되는 경우입니다. HTH가 1개로 제한됩니다. UNIX/Linux 환경에서는 도메인 소켓(named pipe)을 통해서만 JEUS와 연동할 수 있기 때문에 JSVPort를 사용하지 않습니다. |
STANDARD |
BASE와 달리 HTH가 1개 이상 지원되는 일반적인 경우입니다. JEUS와도 자유롭게 연동할 수 있으며 WebtoB가 제공하는 대부분의 기능을 사용할 수 있습니다. |
ENTERPRISE |
STANDARD에서 제공하는 모든 기능 이외에 아래와 같은 추가적인 기능을 사용할 수 있습니다.
|
빠른 시작
WebtoB 설치 후 신속하게 정상 동작을 확인하려면 다음과 같은 간단한 절차를 따라 진행할 수 있습니다.
-
WebtoB의 설정 파일 검증 툴인 configValidator을 사용해서 설정 파일이 올바르게 구성되었는지 확인합니다.
$ configValidator
다음은 WEBTOB_HOME\config\webtob-config.json 파일의 설정 예시입니다.
{ "node": { "name": "webtob_node", "hth_count": 1, "worker_threads": 8, "hth_schedule": "RR" }, "server": { "http": { "common_config": { "doc_root": "docs", "service_order": "uri,ext", "access_log": "access_log1" }, "http_servers": [ { "name": "http1", "port": [8080], "enable_ssl": true, "ssl_name": [ "ssl1" ] } ] }, "wjp": { "port": 9999, "wjp_servers": [ { "name": "MyGroup1", "svr_chk_time": 60 } ] } }, "logging": { "access_log": [ { "name": "access_log1", "level": "INFO", "format": "DEFAULT", "handlers": { "file_handler": { "file_name": "logs/access.log" }, "enable_console_handler": false } } ], "error_log": { "level": "INFO", "handlers": { "file_handler": { "file_name": "logs/errors.log" }, "enable_console_handler": false } }, "system_log": [ { "name": "webtob", "level": "INFO", "handlers": { "file_handler": { "file_name": "logs/webtob.log" }, "enable_console_handler": true } } ] }, "destination": { "jeus": [ { "name": "MyGroup1", "server_schedule": "RR", "connection_schedule": "RR" } ], "reverse_proxy": { "reverse_proxy_group": [ { "name": "rproxyGroup1", "reverse_proxy_server": [ { "address": "internal.server:80" } ] } ]}, "htmls": [ { "name": "htmls1" } ] }, "service": { "uri": [ { "name": "uri1", "target_http_servers": [ "http1" ], "match": { "type": "prefix", "target": "/rproxy", "rewrite": "/" }, "destination": { "type": "REVERSE_PROXY", "target": "rproxyGroup1" } } ], "ext": [ { "name": "ext1", "target_http_servers": [ "*" ], "match": { "type": "exact", "target": "text/html" }, "destination": { "type": "JEUS", "target": "MyGroup1" } } ] }, "ssl": { "ssl_configs": [ { "name": "ssl1", "webtob_certificate_file": "server.crt", "webtob_certificate_key_file": "key.crt" } ] } }webtob-config.json 파일 작성 시 수정이 필요한 항목은 다음과 같습니다.
항목 설명 server > http > http_servers > port
HTTP 서버가 사용할 포트를 지정합니다.
server > wjp > port
WJP 서버가 사용할 포트를 지정합니다.
HTTP 서버 및 WJP 서버의 포트 번호를 설정할 때 이미 사용 중인 포트 번호를 지정하면 WebtoB가 기동되지 않을 수 있으므로 중복되지 않는 번호로 지정합니다.
-
명령 프롬프트에 WebtoB를 기동 명령을 입력합니다.
$ webtob
WebtoB 기동 후 'ps -eo user,pid,comm | grep WebtoB’명령어를 통해 실행 중인 WebtoB 프로세스의 이름과 pid를 확인할 수 있습니다.
각 프로세스의 역할은 다음과 같습니다.
프로세스 역할 WebtoB Manager
WebtoB Engine을 관리하는 프로세스입니다.
Http 요청을 처리하는 Engine이 비정상 종료할 경우 재기동 시켜줍니다.WebtoB Engine
Http 요청을 받아서 처리하는 프로세스 입니다.
특정 프로세스에 대한 정보는 'ps -p [WebtoB 6 PID] -L' 또는 'top -H -p [WebtoB 6 PID]' 명령어를 통해 실행 중인 스레드의 이름을 확인할 수 있습니다.
각 스레드의 역할은 다음과 같습니다.
스레드 역할 BOOT
WebtoB 시작 시 실행되는 메인 스레드입니다.
서버 부팅의 전반적인 과정(설정 로드, 서버 생성 및 시작 등)을 담당합니다.API-HANDLER
API 요청을 처리하는 스레드입니다.
클라이언트의 REST API 요청에 따라 WebtoB 상태 모니터링이나 명령 등을 수행합니다.HTL
클라이언트 연결을 수락(accept)하는 스레드입니다.
HTH
클라이언트 요청을 처리(handling)하는 스레드입니다.
요청/응답에 대한 파싱, 네트워크 I/O 등을 수행하고, 특정 업무에 대해서는 WORKER 스레드에 넘깁니다.WORKER
HTH의 명령을 받아 처리하는 스레드입니다.
각 WORKER는 특정 HTH로부터 생성 및 할당되고, 정적 컨텐츠(HTMLS) 처리 업무를 담당합니다. (추후 확장 예정)LOGGING
WebtoB에서 출력되는 모든 로그 메시지를 처리하는 스레드입니다.
-
브라우저를 열고, 아래와 같이 URL을 입력합니다.
http://<IP 주소>:<8080 또는 사용자 지정 포트 번호>/
정상적으로 WebtoB가 기동된 경우 아래와 같이 화면이 표시됩니다.
-
명령 프롬프트에 WebtoB를 종료 명령을 입력합니다.
$ webtob -a stop