jboss 자동 실행 등록 상세

ITKHJ·2022년 10월 15일

Server

목록 보기
5/32
post-thumbnail
  1. JBoss EAP 자동 실행 가이드
    (1) 공통사항

    1) jboss_autostart.sh 작성

vim jboss_autostart.sh

#!/bin/sh

Changed JBoss Install Directtory

JBOSS_DIR="/CLOUD/JBOSS/domains"

Changed JBoss Node Name

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}/NODENAMEJBOSSBINDIR={NODE_NAME} JBOSS_BIN_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명 수정
다중 노드일 경우 띄워쓰기 기준으로 순차적 입력

vim jboss_autostart.sh

Changed JBoss EAP Install Directory

JBOSS_DIR="/CLOUD/JBOSS/domains"

Changed JBoss Jode Name

NODE_LIST="node10 node20 node30"

3) 파일 복사 및 퍼미션 변경

jboss_autostart.sh 파일을 /home/jboss 등 원하는 디렉터리에 복사

cp jboss_autostart.sh /home/jboss/

파일 사용자 권한 및 퍼미션 변경

chown jboss:jboss jboss_autostart.sh

chmod 750 jboss_autostart.sh

(2) RHEL 6.x 이하

1) 자동 실행 등록

/etc/rc.d/rc.local 파일에 jboss_autostart.sh가 위치한 경로 추가

vim /etc/rc.d/rc/local

/bin/su - jboss -c "/home/jboss/jboss_autostart.sh"

(3) RHEL 7.x 이상

1) jboss.service 작성

vim 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 파일이 위치한 경로로 수정

vim jboss.service

ExecStart=/home/jboss/jboss_autostart.sh

3) 자동 실행 등록

jboss.service 파일을 /lib/systemd/system 디렉터리에 복사

cp jboss.service /lib/systemd/system/

jboss.service 파일 퍼미션 644로 변경

chmod 644 /lib/systemd/system/jboss.service

부팅 시 자동으로 실행하기 위해 서비스 등록

systemctl enable jboss.service

profile
모든 업무 지식 작성하자!

0개의 댓글