JBoss EAP 자동 실행 가이드
(1) 공통사항
1) jboss_autostart.sh 작성
#!/bin/sh
JBOSS_DIR="/CLOUD/JBOSS/domains"
NODE_LIST="node10 node20 node30"
for NODE_NAME in {NODE_LIST[@]} do unset JBOSS_NODE JBOSS_BIN_DIR DATE PNODE_NAME UNAME JBOSS_HOME JAVA_HOME DOMAIN_BASE SERVER_NAME HOST_NAME CONFIG_FILE PORT_OFFSET JBOSS_USER BIND_ADDR MGMT_ADDR CONTROLLER_IP CONTROLLER_PORT MULTICAST_ADDR JMS_MULTICAST_ADDR MODCLUSTER_MULTICAST_ADDR JAVA_OPTS LOG_HOME JBOSS_MODULEPATH if [ 'ps ax | grep ${NODE_NAME} | grep -v grep | wc -l' -ge 1]; then echo "JBoss SERVER - ${NODE_NAME} is already RUNNING..." else JBOSS_NODE={JBOSS_DIR}/{JBOSS_NODE}/bin
if [ ! -d ${JBOSS_BIN_DIR} ]; then
JBOSS_BIN_DIR=${JBOSS_NODE}
fi
DATE='date +%Y%m%d%H%M%S'
if [ -f ${JBOSS_BIN_DIR}/env.sh ]; then
echo -e "\n======================================================================"
echo -e "============= Node Name : \\033[0;32m${NODE_NAME}\\033[0;39m ==========="
. ${JBOSS_BIN_DIR}/env.sh
else
echo -e "\n================================================================"
echo -e "\\033[0;32m${NODE_NAME}\\033[0;39m Node are env.sh file not found"
echo -e "================================================================\m"
continue;
fi
PNODE_NAME=`ps -ef | grep java | grep "=$SERVER_NAME " | awk '{print $2}'`
echo $PNODE_NAME
if [ e $PNODE_NAME != "e" ]; then
echo "JBoss SERVER - $SERVER_NAME is already RUNNING..."
exit;
fi
UNAME='id -u -n'
if [ e$UNAME != "e$JBOSS_USER" ]; then
echo "Use $JBOSS_USER account to start JBoss SERVER - $SERVER_NAME..."
exit;
fi
echo $JAVA_OPTS
nohup $JBOSS_hOME/bin/standalone.sh -DSERVER=$SERVER_NAME -P=${JBOSS_BIN_DOR}/env.properties -c $CONFIG_FILE >> $LOG_HOME/nohup/${SERVER_NAME}_${DATE}.out &
if [ e$1 = "enotail" ]; then
echo "Starting... $SERVER_NAME"
exit;
fi
fi
done
2) 설치 디렉터리 경로 설정
jboss_autostart.sh 파일을 열어 설치 경로와 Node명 수정
다중 노드일 경우 띄워쓰기 기준으로 순차적 입력
JBOSS_DIR="/CLOUD/JBOSS/domains"
NODE_LIST="node10 node20 node30"
3) 파일 복사 및 퍼미션 변경
jboss_autostart.sh 파일을 /home/jboss 등 원하는 디렉터리에 복사
파일 사용자 권한 및 퍼미션 변경
(2) RHEL 6.x 이하
1) 자동 실행 등록
/etc/rc.d/rc.local 파일에 jboss_autostart.sh가 위치한 경로 추가
/bin/su - jboss -c "/home/jboss/jboss_autostart.sh"
(3) RHEL 7.x 이상
1) jboss.service 작성
[Unit]
Description=JBoss Service Start Daemon
After=network.target rsyslog.service kdump.service
[Service]
Type=forking
User=jboss
ExecStart=/home/jboss/jboss_autostart.sh
[Install]
WantedBy=multi-user.target
2) jboss_autostart.sh 경로 또는 파일명이 변경된 경우
jboss.service 파일의 ExecStart에 jboss_autostart.sh 파일이 위치한 경로로 수정
ExecStart=/home/jboss/jboss_autostart.sh
3) 자동 실행 등록
jboss.service 파일을 /lib/systemd/system 디렉터리에 복사
jboss.service 파일 퍼미션 644로 변경
부팅 시 자동으로 실행하기 위해 서비스 등록