[공동 편집] 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 오류
- 예외