티스토리 뷰
본 포스팅에서는 WildFly를 구성하기 위한 Shell Script에 대해 살펴보도록 하겠습니다.
복잡도가 높은 다양한 인스턴스를 나누어 관리하거나, JDK를 인스턴스 별도 다르게 가져가야 한다거나, 포트 충돌을 손쉽게 막기 위한 용도로써 활용 될 수 있습니다.
Shell Script는 크게 WildFly 관리 용도 및 상태 정보 확인 용도로 구분하도록 하겠습니다.
WildFly 기동 종료 어드민 접속
1. run.sh 기동
먼저 WildFly 기동 스크립트입니다.
#!/bin/bash
export JAVA_HOME=/home/wildfly/java-1.8.0
export NODENAME=api
export JBOSS_DIR=/home/wildfly/wildfly13
export JBOSS_LOG_DIR=$JBOSS_DIR/$NODENAME/log
export JBOSS_MANAGER_IP=192.168.2.175
nohup $JBOSS_DIR/bin/standalone.sh -Djboss.server.base.dir=$JBOSS_DIR/$NODENAME \
-Djboss.node.name=$NODENAME -c standalone-ha.xml -b 0.0.0.0 -bmanagement=$JBOSS_MANAGER_IP \
-Djboss.socket.binding.port-offset=100 > $JBOSS_LOG_DIR/$NODENAME.out 2>&1 &
환경 변수로 JAVA_HOME, NODENAME, JBOSS_DIR, JBOSS_LOG_DIR, JBOSS_MANAGER_IP를 설정해야 합니다.
본 스크립트를 기반으로 각각 해당 정보를 서버 정보에 맞게 기입한 후 기동합니다.
특이점으로는 nohup & $NODENAME.out 파일로 백그라운드 로그를 기입하도록 하였으며, 환경파일 종류 지정, 노드 지정, offset 지정 등으로 실제 standalone.xml or standalone-ha.xml 파일 설정을 최소화 하도록 쉘 스크립트에 정보를 입력하도록 하였습니다.
2. stop.sh 종료
다음으로 WildFly 다운 스크립트입니다.
#!/bin/bash
export JBOSS_DIR=/home/wildfly/wildfly13
export INSTANCE_IP=192.168.2.175
export INSTANCE_PORT=10090
sh $JBOSS_DIR/bin/jboss-cli.sh --connect controller=$INSTANCE_IP:$INSTANCE_PORT command=":shutdown(timeout=6000)"
환경 변수로 JBOSS_DIR, INSTANCE_IP, INSTANCE_PORT를 설정해야 하며, shutdown 시 timeout으로 Gracefully Shutdown을 구현하였습니다.
3. jboss cli 접속
다음으로 각종 CLI 명령어를 수행할 수 있는 WildFly admin 스크립트입니다.
#!/bin/bash
export JBOSS_DIR=/home/wildfly/wildfly13
export INSTANCE_IP=192.168.2.175
export INSTANCE_PORT=10090
sh $JBOSS_DIR/bin/jboss-cli.sh --connect controller=$INSTANCE_IP:$INSTANCE_PORT
마찬가지로 JBOSS_DIR, INSTANCE_IP, INSTANCE_PORT를 환경변수로 갖으며, WildFly down script에서 command 부분만 제거된 상태의 ShellScript입니다.
WildFly 상태 정보
1. thread info
/home/wildfly/wildfly13/bin/jboss-cli.sh --controller=[IP]:10090 --connect --command="/core-service=platform-mbean/type=threading:read-resource(include-runtime=true,recursive-depth=10)"
2. datasource info
/home/wildfly/wildfly13/bin/jboss-cli.sh --controller=[IP]:10090 --connect --command="/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(recursive=true, include-runtime=true)"
3. session info
/home/wildfly/wildfly13/bin/jboss-cli.sh --controller=[IP]:10090 --connect --command="/deployment=mes/subsystem=undertow:read-resource(include-runtime=true, recursive=true, recursive-depth=10)"
4. request info
/home/wildfly/wildfly13/bin/jboss-cli.sh --controller=[IP]:10090 --connect --command="/subsystem=undertow/server=default-server/http-listener=default:read-resource(recursive=true, include-runtime=true)"
위와 같이 WildFly의 Thread, Datasource, Session, Request 정보를 CLI 화면 상에서 확인할 수 있습니다.
'④ 미들웨어 > ⓦ WildFly' 카테고리의 다른 글
[WildFly] Apache HTTPD Server 연동 가이드 (2/2) (0) | 2019.09.19 |
---|---|
[WildFly] Apache HTTPD Server 연동 가이드 (1/2) (0) | 2019.09.19 |
[WildFly] 오픈소스 APM Scouter 설치 및 연동 (0) | 2019.01.03 |
[WildFly] 외부캐시 서버와의 연동을 통한 세션 클러스터링 테스트 (0) | 2018.10.24 |
[WildFly] database연동방식 (Thin,OCI) (0) | 2018.09.27 |
- Total
- Today
- Yesterday
- 아키텍처
- OpenStack
- API Gateway
- SA
- k8s
- JEUS6
- git
- Da
- aa
- jeus
- openstack token issue
- 쿠버네티스
- nodejs
- node.js
- SWA
- kubernetes
- JEUS7
- Architecture
- openstack tenant
- TA
- webtob
- 마이크로서비스
- wildfly
- apache
- 오픈스택
- aws
- MSA
- Docker
- JBoss
- 마이크로서비스 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |