프로그래밍

node server.js 관련 명령어: 서버 끄기 등

lamarcK 2025. 4. 1. 13:44

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 자체에는 내장된 '재시작' 명령어가 없습니다. 서버를 재시작하는 가장 기본적인 방법은 다음과 같습니다.
    1. 실행 중인 서버를 Ctrl + C 로 끕니다.
    2. 다시 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를 누르는 것입니다!