node server.js는 작성하신 Node.js 서버 코드를 실행하여 서버를 시작하는 명령어입니다. (현재 시간 2025년 4월 1일 오후 1:37 KST, 천안시 위치)
서버를 시작하는 것 외에 관련하여 알아두면 좋은 기본적인 명령어/방법은 다음과 같습니다.
1. 서버 끄기 (종료하기): Ctrl + C
- 방법: node server.js를 실행했던 바로 그 터미널 창 (서버 로그 메시지가 계속 올라오거나 커서가 멈춰있는 창)을 활성화하고 키보드에서 Ctrl 키와 C 키를 동시에 누릅니다.
- 동작: 이 키 조합은 현재 실행 중인 프로세스(여기서는 Node.js 서버)에게 중지 신호(Interrupt Signal) 를 보냅니다. 대부분의 경우 서버 프로세스는 이 신호를 받고 실행을 멈추게 됩니다. 터미널에는 다시 명령어를 입력할 수 있는 프롬프트(예: PS C:\...>, $)가 나타납니다.
2. 서버 재시작하기:
- Node.js 자체에는 내장된 '재시작' 명령어가 없습니다. 서버를 재시작하는 가장 기본적인 방법은 다음과 같습니다.
- 실행 중인 서버를 Ctrl + C 로 끕니다.
- 다시 node server.js 명령어를 입력하여 서버를 시작합니다.
3. 개발 중 자동 재시작: nodemon 사용 (추천!)
- 코드를 수정할 때마다 매번 Ctrl + C 와 node server.js를 반복하는 것은 번거롭습니다. 이럴 때 nodemon이라는 도구를 사용하면 매우 편리합니다.
- 기능: nodemon은 프로젝트 폴더 내의 파일 변경(저장)을 감지하여 자동으로 서버를 재시작해 줍니다.
- 설치 (전역 설치 추천): 터미널에 다음 명령어를 입력하여 설치합니다. (한 번만 설치하면 됨)
Bash
npm install -g nodemon
- 실행: 서버를 시작할 때 node 대신 nodemon 명령어를 사용합니다.
Bash
nodemon server.js
- 이제 server.js나 관련된 다른 .js, .json 파일 등을 수정하고 저장하면, nodemon이 이를 감지하고 터미널에 재시작 메시지를 보여주며 서버를 자동으로 껐다 켜줍니다. 끄는 것은 여전히 Ctrl + C 입니다.
4. 백그라운드 실행 및 관리: pm2 사용 (고급)
- 서버를 터미널 창과 독립적으로 백그라운드에서 계속 실행시키고 싶거나, 서버가 오류로 종료되었을 때 자동으로 재시작되게 하고 싶을 때 사용하는 전문적인 프로세스 관리 도구입니다.
- 주요 명령어:
- pm2 start server.js: 서버를 백그라운드에서 시작
- pm2 list: 현재 실행 중인 서버 목록 보기
- pm2 stop <id|name>: 특정 서버 중지
- pm2 restart <id|name>: 특정 서버 재시작
- pm2 logs: 서버 로그 보기
- 용도: 주로 실제 서비스(Production) 환경에서 서버를 안정적으로 운영할 때 사용합니다. 개발 연습 단계에서는 보통 node나 nodemon으로 충분합니다.
요약:
작업명령어 / 방법설명
서버 시작 | node server.js | 기본적으로 서버를 실행합니다. (터미널에 종속됨) |
서버 끄기 | Ctrl + C (해당 터미널에서) | 실행 중인 서버 프로세스를 중지시킵니다. |
서버 재시작 | Ctrl + C 누른 후 node server.js | 수동으로 껐다가 다시 켭니다. |
자동 재시작 | nodemon server.js (nodemon 설치 후) | 개발 중 파일 변경 시 자동으로 재시작해 줍니다. (터미널에 종속됨) |
백그라운드 | pm2 start server.js 등 (pm2 설치 후) | 서버를 백그라운드에서 실행하고 관리합니다. (터미널과 독립적, 고급) |
Sheets로 내보내기
가장 중요한 것은 서버를 끌 때 해당 서버가 실행 중인 터미널에서 Ctrl + C를 누르는 것입니다!
'프로그래밍' 카테고리의 다른 글
멀티 환경 프로젝트(프론트와 백 폴더를 분리해서 실행) (0) | 2025.04.26 |
---|---|
Set 생성자 및 add 메서드 동작에 대한 의문사항 (0) | 2025.03.28 |