미니프로젝트 서버가 자꾸 죽는이슈 분석

LJM·2023년 5월 9일
0

미니프로젝트(FE+BE)

목록 보기
7/12

AWS Deploy Agent 라는게 있다. EC2 인스턴스에서 우분투에 설치해서 사용한다.(그랬었나?)
암튼 Agent를 사용해서 스크립트를 실행할 수 있다.
appspec.yml 을 실행한다. 그리고 gh_deploy.sh 를 실행한다. gh_deploy.sh 에서 서버를 내렸다가 올리게 되는데 이상하게 환경변수에 세팅한 변수를 못 읽는 이슈가 계속 발생한다. 원래 그렇지 않았는데.
그리고 수많은 오류 로그를 남기고 죽는다.

반면에 내가 명령어로 run_server.sh 란 스크립트파일을 실행해서 서버를 실행시키면 정상작동한다.

GPT 에 의하면

스크립트를 통해 jar를 실행할 때와 수동으로 실행할 때의 환경 변수 차이는, 
실행하는 사용자와 쉘 환경에 따라 다를 수 있습니다.

스크립트를 사용하여 실행할 때는 배포 도구(AWS CodeDeploy)에서 실행되는 것이므로, 
환경 변수가 설정되어 있지 않을 수 있습니다. 반면에 수동으로 실행할 때는 일반적으로 
로컬 사용자가 실행하므로, 환경 변수가 설정되어 있을 가능성이 높습니다.

그러단다. 정말 그런지는 모르겠다만 일단 서버가 돌아가게는 해야 하니까
깃에 등록되지 않게 EC2의 우분투에서 파일을 새로 만들어서 환경변수를 세팅하고 gh_deploy.sh 에서 불러오게 하는 방식을 사용해봐야 할거 같다.

파일을 만들어서 거기에 변수=값 이렇게 세팅해놓고 gh_deploy.sh에서 불러오게 했지만 jar파일 실행하면 제대로 읽어오지 못한다

그래서 이번에는 /home/custom_env/env.sh 파일에서
export 명령어로 환경변수 등록하도록 작성 하였다

예제 export RDS_HOSTNAME=11.111.111.111

gh_deploy.sh 파일에는 이렇게 세팅하였다

# /home/custom_env/env.sh 파일 실행해서 환경변수 등록
source /home/custom_env/env.sh

이번에는 될란가

다행히도 이번에는 스프링부트 서버가 정상으로 잘 켜진다 휴...

기존에 sudo vim /etc/bash.bashrc 여기에 저장해놨는데 왜 이런일일 발생하는건지 이해가 안된다

profile
게임개발자 백엔드개발자

0개의 댓글