[공동 편집] WebSocket Node 서버 — PM2 가이드

PM2로 WebSocket 기반 실시간 공동 편집 서버를 실행하는 방법을 안내합니다.

서버를 실행하는 데 필요한 .js 파일은 별도로 제공됩니다. 파일과 자세한 안내는 기술 지원팀에 문의합니다.

런타임

  • Node.js v16.13.1

WebSocket 서버 & PM2

프로세스 관리에는 PM2를 권장합니다. PM2는 Node.js 애플리케이션을 실행 상태로 유지하고 비정상적으로 종료될 경우 자동으로 재시작하며, 백그라운드 프로세스로 실행할 수 있도록 해줍니다.

PM2 설치

npm install pm2 -g

서버 시작

Windows

:: cmd (run as Administrator)
set HOST=<host>
set PORT=<port>
pm2 start collaboServer.js

:: Example
set HOST=58.161.1.23
set PORT=12000
pm2 start collaboServer.js
# PowerShell (run as Administrator)
$env:HOST=<host>
$env:PORT=<port>
pm2 start collaboServer.js

# Example
$env:HOST="58.161.1.23"
$env:PORT="12000"
pm2 start collaboServer.js

Linux

collaboServer.js가 포함된 디렉터리에서 실행하거나, 전체 경로를 지정하여 실행합니다.

HOST=<host> PORT=<port> pm2 start collaboServer.js

# Examples
HOST=58.161.1.23 PORT=12000 pm2 start collaboServer.js
HOST=58.161.1.23 PORT=12000 pm2 start /home/abc/collaboServer/collaboServer.js
HOST=58.161.1.23 PORT=12000 pm2 start collaboServer/collaboServer.js

서버가 실행 중인지 확인

status: online은 서버가 작동 중임을 의미합니다.

pm2 list

서버 중지

# Kill
pm2 kill <filename>

# Delete from PM2
pm2 delete <filename>

모니터링

실시간 모니터

pm2 monit

로그 파일

서버의 작업 디렉터리를 기준으로 ./logs에 저장됩니다. 일자별로 분할되며 오류 로그는 별도 파일로 남습니다. 로그에는 다음이 포함됩니다:

  • 서버 시작 및 상태
  • 문서 생성 / 삭제 및 사용자 연결 정보
  • WebSocket 및 Redis 오류
  • 예외