서버세팅 관련

[ERROR] 우분투 서버 시간 ERROR (putty 디버그 시간 에러)

jju_developer 2024. 1. 23. 11:20
728x90

안녕하세요 jju_developer 입니다.

 

우분투로 개발을 하다가 갑자기 putty의 debug 로그 시간이 이상하게 되어있어서

날씨 api가 작동을 하지 않았습니다..

 

기존에 쓰던 서버를 그대로 따와서 ip만 다르게 설정을 했는데...

 

처음에 putty로 막 톰켓이 서울시간으로 안되어있는줄알고
timedatectl로 검색도 해보고 바꿔도 보고 했지만...
sudo timedatectl set-timezone Asia/Seoul
결론적으로는 이미 한국 시간으로 local 설정이 되어있습니다.


그렇다면 왜? debug로그에 다른시간으로 되어있는걸까요??

 

뭐가 문제였을까요?

 

이럴때에는 JVM 옵션 확인 필요합니다.

jvm 설정하고 특히 톰캣이 실행되는 환경에 따라 서버의 구성을 변경하고자 할 때

주로 setenv.sh 파일에 들어가서 설정을 변경해주면 됩니다.


setenv.sh 파일이 저는 이미 서버 세팅할때 있었는데요.

없으신 분들은 putty로 접속하셔서 톰캣이 설치된 bin 폴더에 setenv.sh 파일을 생성하시면 됩니다.

/bin$ vi setenv.sh

vi 로 접속해서 해당 setenv.sh에 뭐가있는지를 보고 나서
설정을 수정해 주었습니다.

 

변경 전


JAVA_OPTS=$JAVA_OPTS"-Dspring.profiles.active=본인서버이름"

CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat9_프로젝트이름/logs -XX:OnOutOfMemoryError='kill -9 %p' -Duser.timezone=GMT+9"

여기서 핵심은

-Duser.timezone=GMT+9

이게 빠져있었습니다.

해당 -Duser.timezone=GMT+9 을 넣어주고 :wq 로 해서 빠져나와주고

tomcat을 sudo 명령어로 껏다가 다시 키니까 정상적으로 날씨 api가 작동하였습니다!

 

변경후!!!

 

회사 코드라서 모자이크 처리 양해 부탁드리며,


해결 안되신 분들은 답글 남겨주시면 봐드리겠습니당..

그럼 오늘도 하나 해결해서 발뻗고 자겠습니다.

고생하셨습니다~!

 

 

[깨알지식]
setenv.sh 파일이란?
setenv.sh 파일은 Apache Tomcat 서버에서 사용되는 

환경 변수 및 JVM (Java Virtual Machine) 설정을 구성하는 데 사용됩니다. 
이 파일은 Tomcat이 시작될 때 자동으로 실행되며, 

특정 환경 변수 값을 설정하거나 Java 가상 머신의 옵션을 조정하는 데에 활용됩니다.

728x90