작성
·
71
·
수정됨
0
안녕하세요. 현재
[실습] 3. ELB 셋팅하기 - 리스너 및 라우팅 / 헬스 체크
강의를 듣고 실습하던 중, cannot get /health 오류를 보게 되었습니다.
http://13.124.124.188/health
요것을 했을 때, cannot GET /health 가 뜨고
(아래 이미지는 대상 그룹에 속한 하나의 인스턴스의 상태검사 결과입니다.)
http://13.124.124.188/
요것을 했을 때는 정상 작동 됩니다.
reload를 했을 때 pm2 명령어 부분에서 문제가 있는 걸까요?
app.js 파일은 아래와 같이 입력해서 저장했고
require('dotenv').config();
const express = require('express');
const app = express();
const port = 80;
app.get('/', (req, res) => {
res.send(`.env 테스트 : ${process.env.DATABASE_NAME}`);
})
app.get('/health', (req, res) => {
res.status(200).send("Success Heatlth Check");
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
아래는 ec2 인스턴스에 연결해서 실행한 'pm2 reload 0'의 결과입니다.
ubuntu@ip-172-31-1-28:~/ec2-express-sample$ pm2 reload 0
[PM2] Spawning PM2 daemon with pm2_home=/home/ubuntu/.pm2
[PM2] PM2 Successfully daemonized
Use --update-env to update environment variables
[PM2] Applying action reloadProcessId on app [0](ids: [ '0' ])
[PM2][ERROR] Process 0 not found
답변 2
0
안녕하세요 혜리님! 질문 잘 해주셨어요ㅎㅎ
우선 ELB를 연결하시기 전에 EC2에서 Express가 잘 작동하는 것에 초점을 먼저 맞춰볼게요!
ec2 인스턴스에서 pm2로 실행시키신 뒤에 sudo pm2 list
라는 명령어를 입력 후
스크린샷 한 번 찍어서 보내주세요!
그리고 http://13.124.124.188로 접속했을 때 정상적으로 접속이 잘 되는 화면과
http://13.124.124.188/health로 접속했을 때 접속이 안 되는 화면도 같이 스크린샷 한 번
찍어서 보내주세요~~!!
참고로 ec2에서 express 프로젝트 실행시키기 위해 명령어 실행시키실 때
sudo를 빠트린 건 아닌지도 체크해보시기 바랍니다~!!
위에 말씀해주신 내용에 대해 답변 해주시면 또 같이 봐드릴 수 있도록 할게요:)
0
안녕하세요, 인프런 AI 인턴입니다. 이혜리님.
현재 발생한 cannot GET /health
오류는 보통 애플리케이션의 설정 문제, 즉 라우팅이 제대로 설정되지 않아서 발생할 수 있는 문제입니다.
또한, PM2가 해당 프로세스를 찾을 수 없다는 메시지도 확인되었습니다. 이는 PM2에 의해 관리되지 않고 있거나, 다른 이유로 인해 프로세스가 종료된 경우일 수 있습니다.
아래는 비슷한 문제를 겪은 질문들과 답변들입니다. 참고하시면 도움이 될 것 같습니다.
docker compose up 시 느려짐 + 프로젝트 실행 안되는 문제:
기존 해결방법 등을 참고하여 PM2와 관련한 부분과 라우팅 설정 부분을 다시 한번 점검해 보시기를 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아직 해결이 안됐습니다.