EC2를 재부팅하거나 작업 장소를 옮기는 등의 이벤트 후에 퍼블릭 DNS 접속하면 연결이 거부되었습니다. 그래서 깃커밋 & 푸시를 수행한 후 Travis CI를 통해 빌드 & 테스트가 수행되고 나서 잠시 기다리면 톰캣이 살아났습니다. 이 때부터, 퍼블릭 DNS 도 먹히고 EC2에 curl 명령도 정상적으로 작동했습니다. 9장까지 작업한 상태에서 재부팅 후에 깃에 어떤 작업을 해야 도메인 접속이 가능한게 정상인가요?
로컬 수정 내용이 즉각 반영되지 않는 문제
로컬에서 수정과 함께 build 버전을 변경한 후 깃커밋 & 푸시를 해도 수정 내용이 즉각 반영되지 않았습니다. 그런데, 앞서 1번 문제처럼 톰캣이 내려간 후 다시 도메인 접속이 되었을 때 수정 내용이 반영되었습니다. 제 생각에 이전 배포 파일이 kill 명령에 의해 제대로 종료되지 않아 발생하는 문제가 아닌가 생각해서 현재 실행 중인 프로세스도 보고 명령도 바꿔봤는데 원인을 모르겠네요...
[2022-07-23 10:45:56.944] [d-2A5YQBCYH]Script - deploy.sh
[2022-07-23 10:45:56.956] [d-2A5YQBCYH][stdout]> Build 파일 복사
[2022-07-23 10:45:56.983] [d-2A5YQBCYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인
[2022-07-23 10:45:56.990] [d-2A5YQBCYH][stdout]현재 구동 중인 애플리케이션 pid:
[2022-07-23 10:45:56.990] [d-2A5YQBCYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다.
[2022-07-23 10:45:56.990] [d-2A5YQBCYH][stdout]> 새 애플리케이션 배포
[2022-07-23 10:45:56.992] [d-2A5YQBCYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723014453.jar
[2022-07-23 10:45:56.993] [d-2A5YQBCYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723014453.jar 에 실행권한 추가
[2022-07-23 10:45:56.993] [d-2A5YQBCYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723014453.jar 실행
[2022-07-23 11:04:32.273] [d-J4O75DDYH]LifecycleEvent - ApplicationStart
[2022-07-23 11:04:32.274] [d-J4O75DDYH]Script - deploy.sh
[2022-07-23 11:04:32.289] [d-J4O75DDYH][stdout]> Build 파일 복사
[2022-07-23 11:04:32.316] [d-J4O75DDYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인
[2022-07-23 11:04:32.325] [d-J4O75DDYH][stdout]현재 구동 중인 애플리케이션 pid:
[2022-07-23 11:04:32.325] [d-J4O75DDYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다.
[2022-07-23 11:04:32.325] [d-J4O75DDYH][stdout]> 새 애플리케이션 배포
[2022-07-23 11:04:32.330] [d-J4O75DDYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723020327.jar
[2022-07-23 11:04:32.330] [d-J4O75DDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723020327.jar 에 실행권한 추가
[2022-07-23 11:04:32.331] [d-J4O75DDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723020327.jar 실행
[2022-07-23 11:13:02.944] [d-D6DSKEDYH]LifecycleEvent - ApplicationStart
[2022-07-23 11:13:02.944] [d-D6DSKEDYH]Script - deploy.sh
[2022-07-23 11:13:02.958] [d-D6DSKEDYH][stdout]> Build 파일 복사
[2022-07-23 11:13:02.984] [d-D6DSKEDYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인
[2022-07-23 11:13:02.992] [d-D6DSKEDYH][stdout]현재 구동 중인 애플리케이션 pid:
[2022-07-23 11:13:02.992] [d-D6DSKEDYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다.
[2022-07-23 11:13:02.992] [d-D6DSKEDYH][stdout]> 새 애플리케이션 배포
[2022-07-23 11:13:02.995] [d-D6DSKEDYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723021159.jar
[2022-07-23 11:13:02.995] [d-D6DSKEDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723021159.jar 에 실행권한 추가
[2022-07-23 11:13:02.996] [d-D6DSKEDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723021159.jar 실행
[2022-07-23 11:17:03.362] [d-WALU5ASS5]LifecycleEvent - ApplicationStart
[2022-07-23 11:17:03.370] [d-WALU5ASS5]Script - deploy.sh
[2022-07-23 11:17:03.383] [d-WALU5ASS5][stdout]> Build 파일 복사
[2022-07-23 11:17:03.410] [d-WALU5ASS5][stdout]> 현재 구동 중인 애플리케이션 pid 확인
[2022-07-23 11:17:03.417] [d-WALU5ASS5][stdout]현재 구동 중인 애플리케이션 pid:
[2022-07-23 11:17:03.417] [d-WALU5ASS5][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다.
[2022-07-23 11:17:03.417] [d-WALU5ASS5][stdout]> 새 애플리케이션 배포
[2022-07-23 11:17:03.420] [d-WALU5ASS5][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723021600.jar
[2022-07-23 11:17:03.420] [d-WALU5ASS5][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723021600.jar 에 실행권한 추가
[2022-07-23 11:17:03.422] [d-WALU5ASS5][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723021600.jar 실행
[2022-07-23 11:34:13.244] [d-7GWRXFDYH]LifecycleEvent - ApplicationStart
[2022-07-23 11:34:13.245] [d-7GWRXFDYH]Script - deploy.sh
[2022-07-23 11:34:13.261] [d-7GWRXFDYH][stdout]> Build 파일 복사
[2022-07-23 11:34:13.288] [d-7GWRXFDYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인
[2022-07-23 11:34:13.297] [d-7GWRXFDYH][stdout]현재 구동 중인 애플리케이션 pid:
[2022-07-23 11:34:13.297] [d-7GWRXFDYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다.
[2022-07-23 11:34:13.297] [d-7GWRXFDYH][stdout]> 새 애플리케이션 배포
[2022-07-23 11:34:13.301] [d-7GWRXFDYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723023316.jar
[2022-07-23 11:34:13.301] [d-7GWRXFDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723023316.jar 에 실행권한 추가
[2022-07-23 11:34:13.301] [d-7GWRXFDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723023316.jar 실행
수정이 바로 반영 안되는 문제는 nginx를 사용하고부터 해결된 것 같습니다. real 배포 환경 하나만 사용할 때는 수정 후 재 배포마다 딜레이가 걸리고 그것 때문에 EC2에 재부팅을 걸다가 딜레이가 길어지는 식으로 문제가 반복됐었습니다. nginx로 배포 환경을 나누고 EC2에서 nginx 시작을 컨트롤하고부터 문제 없이 즉시 반영되는 것 같습니다.
기존에 올라온 질문이 아닌지 먼저 검색해주세요!
가장 자주 나온 제보
어떤 오류인가요?
오류설명:
부가 설명
EC2를 재부팅하거나 작업 장소를 옮기는 등의 이벤트 후에 퍼블릭 DNS 접속하면 연결이 거부되었습니다. 그래서 깃커밋 & 푸시를 수행한 후 Travis CI를 통해 빌드 & 테스트가 수행되고 나서 잠시 기다리면 톰캣이 살아났습니다. 이 때부터, 퍼블릭 DNS 도 먹히고 EC2에 curl 명령도 정상적으로 작동했습니다. 9장까지 작업한 상태에서 재부팅 후에 깃에 어떤 작업을 해야 도메인 접속이 가능한게 정상인가요?
로컬에서 수정과 함께 build 버전을 변경한 후 깃커밋 & 푸시를 해도 수정 내용이 즉각 반영되지 않았습니다. 그런데, 앞서 1번 문제처럼 톰캣이 내려간 후 다시 도메인 접속이 되었을 때 수정 내용이 반영되었습니다. 제 생각에 이전 배포 파일이 kill 명령에 의해 제대로 종료되지 않아 발생하는 문제가 아닌가 생각해서 현재 실행 중인 프로세스도 보고 명령도 바꿔봤는데 원인을 모르겠네요...
https://github.com/wndudrla1011/bulletinboard-webservice-2022
codedeployment-logs 로그
[2022-07-23 10:45:56.944] [d-2A5YQBCYH]Script - deploy.sh [2022-07-23 10:45:56.956] [d-2A5YQBCYH][stdout]> Build 파일 복사 [2022-07-23 10:45:56.983] [d-2A5YQBCYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인 [2022-07-23 10:45:56.990] [d-2A5YQBCYH][stdout]현재 구동 중인 애플리케이션 pid: [2022-07-23 10:45:56.990] [d-2A5YQBCYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다. [2022-07-23 10:45:56.990] [d-2A5YQBCYH][stdout]> 새 애플리케이션 배포 [2022-07-23 10:45:56.992] [d-2A5YQBCYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723014453.jar [2022-07-23 10:45:56.993] [d-2A5YQBCYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723014453.jar 에 실행권한 추가 [2022-07-23 10:45:56.993] [d-2A5YQBCYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723014453.jar 실행 [2022-07-23 11:04:32.273] [d-J4O75DDYH]LifecycleEvent - ApplicationStart [2022-07-23 11:04:32.274] [d-J4O75DDYH]Script - deploy.sh [2022-07-23 11:04:32.289] [d-J4O75DDYH][stdout]> Build 파일 복사 [2022-07-23 11:04:32.316] [d-J4O75DDYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인 [2022-07-23 11:04:32.325] [d-J4O75DDYH][stdout]현재 구동 중인 애플리케이션 pid: [2022-07-23 11:04:32.325] [d-J4O75DDYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다. [2022-07-23 11:04:32.325] [d-J4O75DDYH][stdout]> 새 애플리케이션 배포 [2022-07-23 11:04:32.330] [d-J4O75DDYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723020327.jar [2022-07-23 11:04:32.330] [d-J4O75DDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723020327.jar 에 실행권한 추가 [2022-07-23 11:04:32.331] [d-J4O75DDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723020327.jar 실행 [2022-07-23 11:13:02.944] [d-D6DSKEDYH]LifecycleEvent - ApplicationStart [2022-07-23 11:13:02.944] [d-D6DSKEDYH]Script - deploy.sh [2022-07-23 11:13:02.958] [d-D6DSKEDYH][stdout]> Build 파일 복사 [2022-07-23 11:13:02.984] [d-D6DSKEDYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인 [2022-07-23 11:13:02.992] [d-D6DSKEDYH][stdout]현재 구동 중인 애플리케이션 pid: [2022-07-23 11:13:02.992] [d-D6DSKEDYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다. [2022-07-23 11:13:02.992] [d-D6DSKEDYH][stdout]> 새 애플리케이션 배포 [2022-07-23 11:13:02.995] [d-D6DSKEDYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723021159.jar [2022-07-23 11:13:02.995] [d-D6DSKEDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723021159.jar 에 실행권한 추가 [2022-07-23 11:13:02.996] [d-D6DSKEDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.3-SNAPSHOT20220723021159.jar 실행 [2022-07-23 11:17:03.362] [d-WALU5ASS5]LifecycleEvent - ApplicationStart [2022-07-23 11:17:03.370] [d-WALU5ASS5]Script - deploy.sh [2022-07-23 11:17:03.383] [d-WALU5ASS5][stdout]> Build 파일 복사 [2022-07-23 11:17:03.410] [d-WALU5ASS5][stdout]> 현재 구동 중인 애플리케이션 pid 확인 [2022-07-23 11:17:03.417] [d-WALU5ASS5][stdout]현재 구동 중인 애플리케이션 pid: [2022-07-23 11:17:03.417] [d-WALU5ASS5][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다. [2022-07-23 11:17:03.417] [d-WALU5ASS5][stdout]> 새 애플리케이션 배포 [2022-07-23 11:17:03.420] [d-WALU5ASS5][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723021600.jar [2022-07-23 11:17:03.420] [d-WALU5ASS5][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723021600.jar 에 실행권한 추가 [2022-07-23 11:17:03.422] [d-WALU5ASS5][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723021600.jar 실행 [2022-07-23 11:34:13.244] [d-7GWRXFDYH]LifecycleEvent - ApplicationStart [2022-07-23 11:34:13.245] [d-7GWRXFDYH]Script - deploy.sh [2022-07-23 11:34:13.261] [d-7GWRXFDYH][stdout]> Build 파일 복사 [2022-07-23 11:34:13.288] [d-7GWRXFDYH][stdout]> 현재 구동 중인 애플리케이션 pid 확인 [2022-07-23 11:34:13.297] [d-7GWRXFDYH][stdout]현재 구동 중인 애플리케이션 pid: [2022-07-23 11:34:13.297] [d-7GWRXFDYH][stdout]> 현재 구동 중인 애플리케이션이 없으므로 종료하지 않는다. [2022-07-23 11:34:13.297] [d-7GWRXFDYH][stdout]> 새 애플리케이션 배포 [2022-07-23 11:34:13.301] [d-7GWRXFDYH][stdout]> JAR Name: /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723023316.jar [2022-07-23 11:34:13.301] [d-7GWRXFDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723023316.jar 에 실행권한 추가 [2022-07-23 11:34:13.301] [d-7GWRXFDYH][stdout]> /home/ec2-user/app/step2/bulletinboard-webservice-2022-1.0.4-SNAPSHOT20220723023316.jar 실행