feat: 로그 설정 추가, 찾아오시는길 지도 수정, 배포 스크립트 추가
This commit is contained in:
89
scripts/owrawww.sh
Normal file
89
scripts/owrawww.sh
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
APP_NAME="owrawww"
|
||||||
|
APP_DIR="/home/www/owrainfo"
|
||||||
|
JAR="$APP_DIR/owrawww-0.0.1-SNAPSHOT.jar"
|
||||||
|
LOG_DIR="$APP_DIR/logs"
|
||||||
|
PID_FILE="$APP_DIR/owrawww.pid"
|
||||||
|
JAVA_HOME="/opt/jdk-21"
|
||||||
|
|
||||||
|
start() {
|
||||||
|
if [ -f "$PID_FILE" ]; then
|
||||||
|
PID=$(cat "$PID_FILE")
|
||||||
|
if kill -0 "$PID" 2>/dev/null; then
|
||||||
|
echo "[$APP_NAME] 이미 실행 중입니다. (PID: $PID)"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$LOG_DIR"
|
||||||
|
|
||||||
|
echo "[$APP_NAME] 시작 중..."
|
||||||
|
nohup "$JAVA_HOME/bin/java" \
|
||||||
|
-jar "$JAR" \
|
||||||
|
--spring.profiles.active=prod \
|
||||||
|
> /dev/null 2>&1 &
|
||||||
|
|
||||||
|
PID=$!
|
||||||
|
echo $PID > "$PID_FILE"
|
||||||
|
echo "[$APP_NAME] 시작됨. (PID: $PID)"
|
||||||
|
echo "[$APP_NAME] 로그: $LOG_DIR/owrawww.log"
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
if [ ! -f "$PID_FILE" ]; then
|
||||||
|
echo "[$APP_NAME] PID 파일이 없습니다. 실행 중이 아닌 것 같습니다."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PID=$(cat "$PID_FILE")
|
||||||
|
|
||||||
|
if ! kill -0 "$PID" 2>/dev/null; then
|
||||||
|
echo "[$APP_NAME] 프로세스($PID)가 이미 종료되어 있습니다."
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[$APP_NAME] 종료 중... (PID: $PID)"
|
||||||
|
kill "$PID"
|
||||||
|
|
||||||
|
for i in $(seq 1 30); do
|
||||||
|
if ! kill -0 "$PID" 2>/dev/null; then
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
echo "[$APP_NAME] 정상 종료됨."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[$APP_NAME] 강제 종료합니다."
|
||||||
|
kill -9 "$PID"
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
echo "[$APP_NAME] 강제 종료됨."
|
||||||
|
}
|
||||||
|
|
||||||
|
status() {
|
||||||
|
if [ -f "$PID_FILE" ]; then
|
||||||
|
PID=$(cat "$PID_FILE")
|
||||||
|
if kill -0 "$PID" 2>/dev/null; then
|
||||||
|
echo "[$APP_NAME] 실행 중 (PID: $PID)"
|
||||||
|
else
|
||||||
|
echo "[$APP_NAME] 중지됨 (PID 파일 잔존)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "[$APP_NAME] 중지됨"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start) start ;;
|
||||||
|
stop) stop ;;
|
||||||
|
restart) stop; sleep 2; start ;;
|
||||||
|
status) status ;;
|
||||||
|
*)
|
||||||
|
echo "사용법: $0 {start|stop|restart|status}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
34
scripts/start.sh
Normal file
34
scripts/start.sh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
APP_NAME="owrawww"
|
||||||
|
APP_DIR="/home/www/owrainfo"
|
||||||
|
JAR="$APP_DIR/owrawww-0.0.1-SNAPSHOT.jar"
|
||||||
|
LOG_DIR="$APP_DIR/logs"
|
||||||
|
PID_FILE="$APP_DIR/owrawww.pid"
|
||||||
|
JAVA_HOME="/opt/jdk-21"
|
||||||
|
|
||||||
|
# 이미 실행 중인지 확인
|
||||||
|
if [ -f "$PID_FILE" ]; then
|
||||||
|
PID=$(cat "$PID_FILE")
|
||||||
|
if kill -0 "$PID" 2>/dev/null; then
|
||||||
|
echo "[$APP_NAME] 이미 실행 중입니다. (PID: $PID)"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 로그 디렉토리 생성
|
||||||
|
mkdir -p "$LOG_DIR"
|
||||||
|
|
||||||
|
# 시작
|
||||||
|
echo "[$APP_NAME] 시작 중..."
|
||||||
|
nohup "$JAVA_HOME/bin/java" \
|
||||||
|
-jar "$JAR" \
|
||||||
|
--spring.profiles.active=prod \
|
||||||
|
> /dev/null 2>&1 &
|
||||||
|
|
||||||
|
PID=$!
|
||||||
|
echo $PID > "$PID_FILE"
|
||||||
|
echo "[$APP_NAME] 시작됨. (PID: $PID)"
|
||||||
|
echo "[$APP_NAME] 로그: $LOG_DIR/owrawww.log"
|
||||||
37
scripts/stop.sh
Normal file
37
scripts/stop.sh
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
APP_NAME="owrawww"
|
||||||
|
APP_DIR="/home/www/owrainfo"
|
||||||
|
PID_FILE="$APP_DIR/owrawww.pid"
|
||||||
|
|
||||||
|
if [ ! -f "$PID_FILE" ]; then
|
||||||
|
echo "[$APP_NAME] PID 파일이 없습니다. 실행 중이 아닌 것 같습니다."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PID=$(cat "$PID_FILE")
|
||||||
|
|
||||||
|
if ! kill -0 "$PID" 2>/dev/null; then
|
||||||
|
echo "[$APP_NAME] 프로세스($PID)가 이미 종료되어 있습니다."
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[$APP_NAME] 종료 중... (PID: $PID)"
|
||||||
|
kill "$PID"
|
||||||
|
|
||||||
|
# 최대 30초 대기
|
||||||
|
for i in $(seq 1 30); do
|
||||||
|
if ! kill -0 "$PID" 2>/dev/null; then
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
echo "[$APP_NAME] 정상 종료됨."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
# 강제 종료
|
||||||
|
echo "[$APP_NAME] 강제 종료합니다."
|
||||||
|
kill -9 "$PID"
|
||||||
|
rm -f "$PID_FILE"
|
||||||
|
echo "[$APP_NAME] 강제 종료됨."
|
||||||
@@ -20,6 +20,13 @@ logging:
|
|||||||
level:
|
level:
|
||||||
com.owrawww: WARN
|
com.owrawww: WARN
|
||||||
org.springframework.security: WARN
|
org.springframework.security: WARN
|
||||||
|
file:
|
||||||
|
name: /home/www/owrainfo/logs/owrawww.log
|
||||||
|
logback:
|
||||||
|
rollingpolicy:
|
||||||
|
max-file-size: 10MB
|
||||||
|
max-history: 30
|
||||||
|
file-name-pattern: /home/www/owrainfo/logs/owrawww.%d{yyyy-MM-dd}.%i.log
|
||||||
|
|
||||||
app:
|
app:
|
||||||
upload:
|
upload:
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
|
|
||||||
<!-- 지도 -->
|
<!-- 지도 -->
|
||||||
<div class="loc-map-wrap">
|
<div class="loc-map-wrap">
|
||||||
<div id="kakao-map"></div>
|
<div id="daumRoughmapContainer1776662318241" class="root_daum_roughmap root_daum_roughmap_landing" style="width:100%"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -184,6 +184,26 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<th:block layout:fragment="scripts">
|
<th:block layout:fragment="scripts">
|
||||||
|
<!-- * 카카오맵 - 지도퍼가기 -->
|
||||||
|
<!-- 1. 지도 노드 -->
|
||||||
|
<div id="" class="root_daum_roughmap root_daum_roughmap_landing"></div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
2. 설치 스크립트
|
||||||
|
* 지도 퍼가기 서비스를 2개 이상 넣을 경우, 설치 스크립트는 하나만 삽입합니다.
|
||||||
|
-->
|
||||||
|
<script charset="UTF-8" class="daum_roughmap_loader_script" src="https://ssl.daumcdn.net/dmaps/map_js_init/roughmapLoader.js" ></script>
|
||||||
|
|
||||||
|
<!-- 3. 실행 스크립트 -->
|
||||||
|
<script charset="UTF-8">
|
||||||
|
new daum.roughmap.Lander({
|
||||||
|
"timestamp": "1776662318241",
|
||||||
|
"key": "mzw6dkwyv7n"
|
||||||
|
}).render();
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</th:block>
|
||||||
|
|
||||||
<script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=1b5048f6e460777f6b5737197cb6ca1b"></script>
|
<script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=1b5048f6e460777f6b5737197cb6ca1b"></script>
|
||||||
<script>
|
<script>
|
||||||
var container = document.getElementById('kakao-map');
|
var container = document.getElementById('kakao-map');
|
||||||
@@ -208,5 +228,4 @@
|
|||||||
map.relayout();
|
map.relayout();
|
||||||
map.setCenter(markerPosition);
|
map.setCenter(markerPosition);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</th:block>
|
|
||||||
Reference in New Issue
Block a user