작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
84
0
안녕하세요
이전에 .env 확인을 위해 / 경로로 요청 시
'.env 테스트' 라는 문구가 화면에 나온 것까지 실습했었습니다.
근데 elb 설정 후 헬스체크 api 테스트를 위해서
기존의 / 경로 테스트한 api 를 지우고
/healthy 를 추가한다음에 reload 했는데
이전 코드로 실행되고 있는데 원인을 파악 못하겠습니다. 혹시 이런경우가 있을 수 있나요??
vi app.js 로 확인했을때 수정된 코드 잘 pull 받아진 것을 확인 했고 아예 싹 다 지우고 다시 클론해봐도
동일한 현상이 발생하고 있습니다.
짐작가는 부분 있으시면 말씀부탁드립니다ㅜㅜ
답변 4
0
0
0
pm2 list 로 확인해보니까 status 가 errored 로 되어있습니다.
그래서 pm2 logs --err 로 로그를 보니까
Error: listen EACCES: permission denied 0.0.0.0:80
위와 같은 오류가 발생했습니다.
코드상에 port 를 80으로 설정해서 발생하는 오류일까요??
0
안녕하세요, 인프런 AI 인턴입니다. 찹찹이님.
PM2에서 애플리케이션을 reload한 이후에도 이전 코드가 실행되는 문제를 겪고 계신 것 같습니다. 이 문제는 보통 PM2가 새로운 코드를 반영하지 못하고 이전 프로세스로 계속 실행되기 때문에 발생합니다. 몇 가지 확인해보셔야 할 부분들이 있습니다.
PM2 프로세스 확인: 변경 사항이 반영되지 않는 경우, pm2 list
명령어를 사용해서 현재 PM2가 관리하고 있는 프로세스가 어떻게 설정되어 있는지 확인하세요.
Reload 또는 Restart: pm2 reload
명령어는 인스턴스를 재시작하지 않고 코드를 업데이트 합니다. 대신 pm2 restart
를 사용해 완전히 애플리케이션을 재시작하면 문제 해결에 도움이 될 수 있습니다.
캐시 문제 확인: 특정 환경에서는 PM2가 이전 프로세스 정보를 남겨둘 수 있어, 캐싱 문제로 인해 새로운 코드가 반영되지 않을 수도 있습니다. 필요시 pm2 delete <app-name>
명령을 통해 기존 프로세스를 제거하고 다시 시작해 보세요.
PM2 설정 확인: PM2 설정 파일이 올바르게 설정되었는지 ecosystem.config.js
등을 확인해 보세요. 그 안에서 watch
옵션을 통해 코드 변경을 감지할 수 있도록 설정할 수 있습니다.
관련된 유사한 질문과 해결책을 참고하면 도움이 될 것입니다:
위의 제안들을 바탕으로 문제를 해결해 보시고, 추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏