진짜 문제가 크게 되었던점 - 스크립트 800번 서비스를 체크할 때 linuxsprov.serivce => 오타 linuxsprov.service 이게 맞음 !! 이 때문에 리눅스는 서비스가 없다 판단아서 if문 안으로 들어오지 않고 else 쪽에 실행하여 nohup 으로 자바를 실행시킴 이게 정상작동 되는것 처럼 보여도 실제로는 nohup 으로 뜬 좀비 프로세스가 메모리에 상주하면서 배포 스크립트 로직을 망가뜨림 => 왜 망가뜨렸냐 이유 systemctl 설정 문제였음 기존에 jar 파일을 복사하면서 똑같이 service 파일을 작성하는 도중 ExecStart 여기 --server.port=801 이걸 빼먹고 작성하였음 이게 문제 옵션을 주지 않았으니 801번 서비스도 기본값인 800번 포트로 실행하려고 하였던거임 결국에는 801번 서비스와 800번 서비스가 충돌나면서 800번 서비스 801번 서비스 다 죽여버린것!! 그리고 프로퍼티즈 파일 server.port=800 이걸 이제 주석처리 하여도 됨 하는게 오히려 깔끔함!! 지우고 기존에 linuxsprov.service 파일에 jar 실행부분쪽 --server.port=800 옵션줄것
2. 스크립트 오타 if systemctl list-units --full --all => 이게 정답!! 문제가 됬던 시점에 -full -all 이렇게 작성하였음 왜 저렇게 작성해야 하냐 * 리눅스 명령어의 규칙 - 글자 한 개 약어 옵션 앞에는 하이픈을 1개 붙힌다 - 단어 전체를 쓰는 풀 네임 앞에는 하이픈을 2개 붙힌다 고로 지금 단어 전체를 쓰는 풀 네임이므로 하이픈을 2개 붙히는게 맞습니다 !! 제가 배포스크립트 관련하여 검색한 블로그 그리고 스택오버플로에도 전부 이렇게 나와 있었어요 ...... 여기 참고하세요 아래 사이트 참고 하면서 스크립트 오류 수정하였습니다 !!
나름 정리를 하였는데 다음 시간에 정상적으로 배포스크립트 코드리뷰 진행하도록 하겠습니다 일단 제가 퀴즈로 수업시간에 낸 것이므로(2시간 드렸습니다) 풀이를 진행하다 문제가 생겼으므로 최대한 다음시간까지 할 수 있는 만큼 해주세요 그리고 밑에 댓글로 남겨주세요 !!!! 했으면 했다 못했으면 못했다 등.... 댓글 달아주세요 !! 그리고 반드시 nginx 리버스 프록시 및 systemctl 체크 하세요 !!!!!! 이거 안되면 안됩니다 !! 안되어 있다면 이전 녹화본 챙겨보세요 !! 그리고 못하셨더라도 차후 진도는 도커를 나갈것이므로 상관은 없지만 취업을 하시려면 반드시 하셔야 합니다 !! 그리고 혹시나 nginx 설치 안되있으면 nginx 는 반드시 설치하세요 ~~ 마리아 db도 마찬가지구요 원래 예정대로라면 도커 소개및 도커 장단점 도커를 사용해야 하는이유 및 도커 배포 방식을 설명하려했으나... 저건 다음 시간에 본격적으로 나가도록 하겠습니다 수업에 차질이 생기게 되어 대단히 죄송합니다 !! 지금 이게 어려운거 알고 문제가 생겨서 답답하시겠지만 수업 초기에도 중간에도 말했지만 제가 오류가 나면 그 오류를 어떻게 해결해 나가는지 눈으로 담아두세요 디버깅을 어떻게 하는지 어떤 사고를 하면서 시스템을 바라보는지를.. 멍때리고 있거나 저를 욕하시면 본인 실력이 늘지 않습니다 !! 그리고 이말을 하는이유... 제가 물어보면 대답좀 해주세요 비대면 학생분들....