AWS 인스턴스를 중지했다 실행하는 바람에 node 및 mongo db를 다시 실행시켜줘야 하면서 고생을 좀 했다.
node.js 도 mongoDB도 아직 배우지 않아 아무것도 모르고 해당 프로젝트에 대해 인수인계를 받지 못했으나
그래도 해결은 해야 하기 때문에 여러 가지 삽질을 했다.
일단 내가 해야한다 생각했던 것은 아래 두 가지다.
- 노드 실행하기
- 몽고 디비 실행하기
결과적으로 Node 프로젝트의 app.js를 보니 여기에 몽고 디비가 설정되어있어 노드만 실행시키면 되는 것 같았다.
aws에서 소스가 올라간 경로를 못 찾아 파일명을 검색했다.
어떤 경로에 있는지 몰라 전체 경로(/)로 검색했다.
fine / -name [찾을 파일명]
app.js 파일을 찾아 노드를 실행시켰다.
npm start
글로 쓰니 몇 줄로 끝났지만 찾다 보니 pm2라는 것이 있고 그걸로 관리하는 줄 알고
sudo pm2 start app.js 등 pm2 관련하여 이것저것 찾아보고 실행해봤으나 안돼서 포기했다.
여기서 추가해놓고 npm start 했다가 포트를 이미 사용하고 있어 충돌이 발생했다.
아래의 명령어로 실행중인 포트 또는 서비스를 확인했다.
sudo lsof -i :포트번호
또는
ps -aef | grep mongo
노드를 실행 시키니 바로
UnhandledPromiseRejectionWarning: MongoError 에러가 발생했다.
찾다 보니 MongoDB cloud에서 네트워크 접근에 IP를 등록해주어야 했다.
기존에 사용하던 서비스인데 왜 다시 등록해야 하나 생각해보니 내가 EC2 인스턴스에서 다시 IP 할당을 해주었던 것 같다.

혹시 몰라 기존 IP는 내버려두고 새로 현재 EC2 인스턴스의 주소를 추가해주었다.
그리고 다시 npm start를 하니 mongodb connect 가 잘 뜨고 사이트도 정상 접속됐다.
글을 작성하다 보니 저 위에서 pm2로 시도해보던 것도 IP 추가를 안 해서 안됐을 것 같다는 생각이 든다.
기존에 해야 하는 업무 외에 추가로 이걸 진행한 거라 이미 시간을 많이 쏟아 추후 다시 시간 여유 있을 때 pm2를 더 공부해보고 pm2로 다시 실행시켜봐야겠다.
'ERROR > ETC' 카테고리의 다른 글
[ERROR] 윈도우 node.js 설치 오류/npm : 'npm' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. (0) | 2022.08.24 |
---|---|
[ETC]Mac에서 Select box 호환 오류 해결 (0) | 2022.06.30 |