Skip to content

서버 스웨거 접속안되는 버그 수정

김도선 edited this page Nov 19, 2024 · 2 revisions
  • 500에러를 내뱉는 상황
    • API문서구성에서 잘못됐나?
    • 500에러가 "예상치못한 에러, 다시시도해주세요" 라고 나와서 집에서는 이유를 알수없음.
    • 이유를 알기위해 500에러가 이유를 내뱉도록 production코드 수정
    • 코드 수정하고 배포가 됐는데도 여전히 "예상치못한 에러, 다시시도해주세요"를 뱉어냄을 확인
    • 배포된 버전을 실행하지 못하고 있다고 판별
  • 가정1: 새로 빌드한 파일을 EC2에서 못가져가고 있다.
    • ec2에서 받게되는 jar파일의 생성시기를 확인
    • 생성시기가 가장 최근으로 보이고 있음
    • EC2에서는 잘 가져가는중!
  • 가정2: 빌드가 예전 버전으로 되고 있다.
    • workflow.yml에서 빌드하기 직전에 GlobalExceptionHandler의 내용을 cat으로 확인
    • exception.getMessage()가 보임(가장 최신으로 빌드중임)
    • 빌드도 최신버전으로 되고 있음!
  • 가정3: 파일은 최신버전으로 들고오지만 이전 firendogly프로세스를 종료하지 못하고 있다.
    • 가장 오래 걸린 부분 image
    • (위 사진)8080실행중인 포트가 있으면 종료하는 step이 존재하지만 수행 조차 안되는 것을 확인(spring project tomcat default가 8080인데,,왜지..?)
    • NGINX가 80을 8080으로 포트포워딩 해주고 있기에 지금 서버가 접속이 되는 것이니 8080이 아닐 것이라고는 의심X
    • 실행중인 8080이 있는 지 저장하는 곳에서 문제가 있을 것이라 생각

원인 파악 완료

  • 백그라운드를 실행을 위한 nohup와 & 명령어를 사용으로 인해 8080프로세스의 자식이 두개 더 생기게 되었고, 부모 8080을 종료하지 않으면, 새로운 8080포트의 어플리케이션 실행을 할 수 없는 상태였다.

조치

모든 8080프로세스를 종료하도록 명령어 변경

Clone this wiki locally