인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

비전공자도 이해할 수 있는 AWS 입문/실전

[실습] 3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스 체크

pm2 reload 관련

작성

·

84

0

안녕하세요

이전에 .env 확인을 위해 / 경로로 요청 시

'.env 테스트' 라는 문구가 화면에 나온 것까지 실습했었습니다.

 

근데 elb 설정 후 헬스체크 api 테스트를 위해서

 

기존의 / 경로 테스트한 api 를 지우고

/healthy 를 추가한다음에 reload 했는데

 

이전 코드로 실행되고 있는데 원인을 파악 못하겠습니다. 혹시 이런경우가 있을 수 있나요??

 

vi app.js 로 확인했을때 수정된 코드 잘 pull 받아진 것을 확인 했고 아예 싹 다 지우고 다시 클론해봐도

동일한 현상이 발생하고 있습니다.

 

짐작가는 부분 있으시면 말씀부탁드립니다ㅜㅜ

답변 4

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 찹찹이님!

검색 끝에 해결하셨다니 다행이네요ㅎㅎㅎ

나중에 또 궁금한 점 생기시면 질문 남겨주세요~~

0

찹찹이님의 프로필 이미지

하핫 검색과 시도 끝에 해결했습니다!

해결해서 글을 지우려고했는데 안지워지네용

0

찹찹이님의 프로필 이미지

pm2 list 로 확인해보니까 status 가 errored 로 되어있습니다.

그래서 pm2 logs --err 로 로그를 보니까

 

Error: listen EACCES: permission denied 0.0.0.0:80

위와 같은 오류가 발생했습니다.

코드상에 port 를 80으로 설정해서 발생하는 오류일까요??

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 찹찹이님.

PM2에서 애플리케이션을 reload한 이후에도 이전 코드가 실행되는 문제를 겪고 계신 것 같습니다. 이 문제는 보통 PM2가 새로운 코드를 반영하지 못하고 이전 프로세스로 계속 실행되기 때문에 발생합니다. 몇 가지 확인해보셔야 할 부분들이 있습니다.

  1. PM2 프로세스 확인: 변경 사항이 반영되지 않는 경우, pm2 list 명령어를 사용해서 현재 PM2가 관리하고 있는 프로세스가 어떻게 설정되어 있는지 확인하세요.

  2. Reload 또는 Restart: pm2 reload 명령어는 인스턴스를 재시작하지 않고 코드를 업데이트 합니다. 대신 pm2 restart를 사용해 완전히 애플리케이션을 재시작하면 문제 해결에 도움이 될 수 있습니다.

  3. 캐시 문제 확인: 특정 환경에서는 PM2가 이전 프로세스 정보를 남겨둘 수 있어, 캐싱 문제로 인해 새로운 코드가 반영되지 않을 수도 있습니다. 필요시 pm2 delete <app-name> 명령을 통해 기존 프로세스를 제거하고 다시 시작해 보세요.

  4. PM2 설정 확인: PM2 설정 파일이 올바르게 설정되었는지 ecosystem.config.js 등을 확인해 보세요. 그 안에서 watch 옵션을 통해 코드 변경을 감지할 수 있도록 설정할 수 있습니다.

관련된 유사한 질문과 해결책을 참고하면 도움이 될 것입니다:

  • pm2 restart vs reload: PM2 재시작 및 reload 관련한 질문에서 다양한 시나리오에 대해 논의되고 있습니다.

위의 제안들을 바탕으로 문제를 해결해 보시고, 추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기