반응형
Node.js 에서 Express generator 로 프로젝트 기본 구조를 생성했을 경우 일반적으로 사용하는 PM2 사용법으로 서버가 실행되지 않을 수 있습니다.
저 역시 일반적으로 쓰던 것처럼 "PM2 start app.js" 를 했지만 실행이 되지 않았고, 해당 오류를 수정하는 과정을 기록합니다.
오류 & 오류 원인
> PM2 start app.js
Express generator 로 프로젝트 기본 구조를 생성하면 app.js 로 서버를 실행하게 되면 list 화면에는 [status=online] 이지만 도메인을 입력하면 오류가 발생합니다.
이유는 생성된 구조를 보면 /bin/www
가 있을텐데, 실제로는 이곳에서 포트번호 및 서버를 세팅하는 역할을 합니다. 즉, 우리가 기존에 하던 서버 세팅의 역할을 www가 하고 있고 app.js는 미들웨어로 사용되고 있습니다.
오류 해결
> PM2 start bin/www
서버도 정상적으로 실행되고, 도메인을 입력해도 정상적으로 화면이 출력되는 것을 볼 수 있습니다.
만약, 이렇게 해도 오류가 발생한다면 package.json
파일을 수정 후 다시 한 번 시도해 보세요.
"scripts": {
"start": "node ./bin/www"
},
===== 아래로 변경 =====
"scripts": {
"start": "pm2 start ./bin/www",
"stop": "pm2 stop ./bin/www"
},
package.json 파일 내의 scripts 의 서버 시작과 중지 부분을 위의 코드와 같이 변경 후 다시 시도해 보세요.
참고자료
반응형
'Programming > Node.js' 카테고리의 다른 글
Node.js + express-session 연동 예제 :: 프로젝트 생성부터 로그인 구현하기 (0) | 2022.07.07 |
---|---|
Node.js :: express-generator 로 개발환경 세팅 (0) | 2022.07.06 |
Node.js :: 버전 변경하기 / nvm 활용 (0) | 2022.06.27 |
Node.js :: Express 로 Cookie 올바르게 활용하기 (0) | 2022.06.08 |
Node.js :: PM2 기본 간단 정리 (0) | 2022.05.30 |