서버 명령 옵션
server 명령은 Liberty 서버의 시작, 중지, 작성, 패키징 및 덤핑을 지원합니다. 이 주제에서는 server 명령 및 동등한 실행 가능 JAR 파일인 ws-server.jar과 함께 사용할 수 있는 모든 옵션 및 종료 코드에 대해 설명합니다.
구문
명령 구문은 다음과 같습니다.
server action serverName [options]
action 값은 Liberty 서버에서 수행할 수 있는 조작을 나타냅니다. 명령 프롬프트에서 Liberty에 대해 사용 가능한 관리 조작을 참조하십시오.
옵션
- --archive="path_to_the_target_archive_file"
package 또는 dump 조작의 대상 파일을 지정합니다. 이 경로는 Liberty의 설치 루트 디렉토리에 대해 상대적인 상대 경로이거나, 절대 경로일 수 있습니다. 기본 아카이브 대상은 서버 이름을 가진 압축 파일로서 설치 루트 디렉토리에 저장됩니다. 값에 공백이 포함된 경우 따옴표를 사용하십시오. package 및 dump 조작 모두에 이 옵션을 사용할 수 있습니다.
아카이브 파일 이름에 .jar 확장자를 지정하는 경우 server 명령은 Liberty 서버가 java 명령을 사용하여 설치될 수 있는 새 자체 추출 아카이브 파일을 작성합니다. 자세한 정보는 제품 문서의 Java 아카이브 파일을 추출하여 Liberty 설치를 참조하십시오. .jar 확장 기능은 z/OS® 플랫폼에서 사용할 수 없습니다.
- --clean
- OSGi 분석기 메타데이터 및 지속적 OSGi 번들 데이터를 포함,
지정된 서비스 인스턴스와 관련된 모든 캐시된 지속적 정보를 지웁니다.
이 옵션을 사용하는 경우, 서버는 다음 시작 시에 캐시된 데이터를
다시 계산해야 합니다. 이 때 캐시된 데이터를 재사용할 수 있는 다시 시작보다
더 많은 시간이 소요될 수 있습니다. 참고: 이 옵션은 정상적인 조작에 필요하지 않습니다. 임시 수정사항을 제공할 때 또는 캐시된 데이터에 대해 의심되는 문제점이 있는 경우, IBM® 서비스에서 이 옵션을 사용하도록 요청할 수 있습니다. 제품 확장기능을 개발 중이고 OSGi Manifest를 업데이트하거나 지속적 OSGi 번들 데이터를 지울 것을 계획 중인 경우에도 이 옵션이 필요할 수 있습니다.
- --include=package_option
- 패키징할 파일을 지정합니다. 여기서 package_option은
다음 값 중 하나를 사용합니다.
- all은 Liberty 설치 디렉토리의 모든 파일을 패키징함을 지정합니다. ${WLP_USER_DIR} 및 ${WLP_OUTPUT_DIR}가 server.env 파일에 정의된 경우, 이 디렉토리 아래의 파일이 패키징됩니다. 이 값은 package 조작에만 적용됩니다.
- usr은 ${WLP_USER_DIR} 디렉토리의 파일을 패키징하도록 지정합니다. 이 값은 package 조작에만 적용됩니다.
- minify는 서버를 실행하는 데 필요한 런타임 환경 부분 및 ${WLP_USER_DIR} 디렉토리의 파일만 패키징하도록 지정함으로써 작성되는 아카이브의 크기를 최소화합니다. 이 값은 package 조작에만 적용됩니다.
- --include=diagnose_option,diagnose_option,...
- 캡처할 진단 정보의 유형을 지정합니다. --include 값은 쉼표로 구분된 목록이며,
다음 값 중 하나를 포함할 수 있습니다.
- heap은 과도한 메모리 이용과 메모리 누수를 진단하는 데 사용되며, 이를 통해 메모리에 있는 라이브 오브젝트와 이들 오브젝트 간의 참조를 볼 수 있습니다. IBM J9 가상 머신에서 결과 파일의 이름은 heapdump.date.time.processID.sequenceNumber.phd로 지정됩니다. HotSpot 가상 머신에서 결과 파일의 이름은 java.date.time.processID.sequenceNumber.hprof로 지정됩니다.이 값은 dump 및 javadump 조작 모두에 적용됩니다.
- system도 과도한 메모리 이용과 메모리 누수를 진단하는 데 사용되지만, 가상 머신에서 결함을 찾는 데도 유용합니다. 이러한 덤프는 IBM J9 가상 머신에서만 지원됩니다. 작성되는 파일의 이름은 core.date.time.processID.sequenceNumber.dmp로 지정됩니다. 이 값은 dump 및 javadump 조작 모두에 적용됩니다.
- thread는 정지된 스레드와 교착 상태를 진단하는 데
사용되며 경우에 따라서는 과도한 CPU 사용 문제를 진단하는 데도 사용될 수 있습니다.
이러한 덤프는 항상 server javadump 명령을 사용하여 작성됩니다.
IBM J9 가상 시스템에서
결과 파일의 이름은 javacore.date.time.processID.sequenceNumber.txt입니다.
HotSpot 가상 시스템에서 결과 파일의 이름은 javadump.date.time.processID.sequenceNumber.txt입니다. 이 값은
dump 조작에도 적용될 수 있습니다.참고: 스레드 덤프 유형은 서버가 Java™ SDK에서 실행 중인 경우에만 지원됩니다. 서버가 JRE를 사용하여 시작된 경우에는 서버가 덤프 유형을 지원하지 않는다는 오류가 보고됩니다. 이 제한사항은 HotSpot 가상 머신에만 적용됩니다. 스레드 Java 덤프 유형은 모든 IBM JVM(JRE 또는 SDK)에서 지원됩니다.
- --os=os_value,os_value,...
- 패키징된 서버가 지원할 운영 체제를 지정합니다. 쉼표로 구분되는 목록을
제공하십시오. 기본값은 any이며,
이는 서버가 소스에서 지원하는 모든 운영 체제에 배치될 수 있음을 표시합니다.
특정 운영 체제가 지원되지 않도록 지정하려면 접두부로 마이너스 부호(-)를 사용하십시오. 운영 체제 값의 목록은 https://www.osgi.org/developer/specifications/reference/#os URL에 있는 OSGi Alliance 웹 사이트를 참조하십시오.
이 옵션은 package 조작에만 적용되고, --include=minify 옵션과 함께만 사용할 수 있습니다. 운영 체제를 제외하면, 아카이브에서 minify 조작을 반복하는 경우 나중에 이 운영 체제를 포함시킬 수 없습니다.
--target=pausable_component,pausable_component,...
일시정지될 수 있는 특정 컴포넌트의 쉼표로 구분된 목록을 지정합니다. 대상 옵션을 지정하는 경우에는 나열된 컴포넌트만 일시정지 또는 재개될 수 있습니다. 예제 대상 값의 목록은 명령행에서 Liberty 서버 일시정지 및 재개를 참조하십시오.
서버 프로세스
- 추적, 모니터링, 애플리케이션의 증분 공개, 기타 서버 기능을 위해 -javaagent:wlp/bin/tools/ws-javaagent.jar 옵션이 필요합니다.
- -Xshareclasses 및 관련 옵션은 지원되는 IBM J9 가상 머신에서 공유 클래스 캐시가 사용되도록 합니다. 캐시 디렉토리는 WLP_OUTPUT_DIR/.classCache로 설정됩니다.
- -XX:MaxPermSize 옵션은 Java 8
이전의 HotSpot 가상 머신에 대한 영구 생성의 크기를 증가시킵니다. WLP_SKIP_MAXPERMSIZE
환경 변수를 true로 설정하여 이 기본 옵션의 사용을
방지함으로써 다음과 같은 경고가 표시되지 않게 할 수 있습니다.
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
- -Djava.awt.headless=true 옵션은 모든 플랫폼에서 java.awt.HeadlessException을 방지하고 Mac OS X에서 도난 문제점에 초점을 맞춥니다.
jvm.options 파일을 사용하여 기본 JVM 옵션을 대체하거나 JVM 옵션을 추가할 수 있습니다. server.env 및 jvm.options 파일에 대한 자세한 정보는 Liberty 환경의 사용자 정의의 내용을 참조하십시오.


- server.env 파일을 사용합니다.
- 또는 z/OS 프로시저를 사용하여 서버를 시작하는 경우 STDENDV DD 항목을 통해 특성을 지정할 수 있습니다.
서버 프로세스의 현재 작업 디렉토리는 서버 출력 디렉토리로 설정됩니다.
server 명령은 사용자가 서버를 시작할 때
프로세스 ID(PID) 파일을 작성하고 사용자가 서버를 중지할 때 PID 파일을 삭제합니다.
기본적으로 PID 파일은 WLP_OUTPUT_DIR/.pid/serverName.pid로 설정됩니다.
PID_FILE 환경 변수를 설정하여 PID 파일의 절대 경로를 변경하거나
PID_DIR 환경 변수를 설정하여 PID 디렉토리의 절대 경로를 변경할 수 있습니다.
서버 프로세스의 표준 출력 및 오류는 run과 debug 조치를 사용할 때는 포그라운드 콘솔에 출력되며, start 조치를 사용할 때는 기본적으로 WLP_OUTPUT_DIR/serverName/logs/console.log 파일로 경로 재지정됩니다. 로그 이름은 LOG_FILE 환경 변수에서 설정하여 변경할 수 있고, 로그 디렉토리는 LOG_DIR 환경 변수에서 설정하여 변경할 수 있습니다. 로깅 구성에 대한 자세한 정보는 로깅 및 추적의 내용을 참조하십시오.
stop 조치는 새 애플리케이션 요청이 서버에 입력되지 않도록 하여 기존 요청이 완료될 시간을 확보합니다. 이 시간이 경과한 후에는 남아있는 서버 컴포넌트가 중지되며 서버 프로세스가 종료됩니다. 허용된 시간 동안 완료되지 않은 애플리케이션 요청은 실패하지만, 이러한 요청의 정확한 동작은 서버 컴포넌트가 중지된 시점에서의 해당 요청의 활동에 따라 달라집니다.
종료 코드
- 0
- OK. 0은 요청된 조작이 성공적으로 완료되었음을 나타냅니다. 서버 상태의 경우 0은 서버가 실행 중임을 나타냅니다.
- 1
- 서버 상태의 경우 1은 서버가 실행 중이 아님을 나타냅니다. 다른 조작의 경우 중복 조작을 호출했음을 나타냅니다. 예를 들어, 시작된 서버를 시작하거나 중지된 서버를 중지하는 경우가 이에 해당합니다. 올바르지 않은 Java 옵션을 사용하는 경우에도 이 코드가 리턴될 수 있습니다.
- 2
- 서버가 없습니다.
- 3
- 지원되지 않는 조치가 실행 중인 서버에서 호출되었습니다. 예를 들어, 패키지 조치를 호출할 때 서버가 실행 중입니다.
- 4
- 지원되지 않는 조치가 중지된 서버에서 호출되었습니다. 예를 들어, 덤프 조치를 호출할 때 서버가 실행되고 있지 않았습니다.
- 5
- 알 수 없는 서버 상태. 예를 들어, workarea 디렉토리가 없거나 API 첨부가 실패한 경우가 이에 해당합니다.
- >=20
- 리턴 코드가 20 이상이면 요청을 수행하는 동안 오류가 발생했음을 나타냅니다. 메시지는 이 오류에 관한 자세한 정보와 함께 로그 파일에 출력되고 캡처됩니다.
사용법
다음 예제는 올바른 구문을 보여줍니다.
server run
server start myserver --clean
server package myserver --archive="archivefile.zip" --include=all
server dump myserver --archive="c:\mybackup\myserver.zip" --include=thread
server javadump myserver
server javadump myserver --include=thread,system