← 전체 글로 돌아가기

서버 운영

배포 전에 서버 상태 빠르게 확인하는 명령어

SSH로 접속한 후 배포하기 전에, 포트 점유와 디스크, 최근 에러 로그를 먼저 본다면 배포 문제를 미리 발견할 수 있다.

배포하기 전에 서버가 현재 정상 상태인지 빠르게 확인하는 건 필수다. 문제를 모르고 배포했다가 나중에 원인을 찾으려면 시간이 훨씬 오래 걸린다.

서버에 접속 후 가장 먼저 볼 것

uname -a  # 커널 버전과 OS 확인
uptime    # 서버 운영 시간과 로드
df -h     # 디스크 사용량

디스크가 가득 차 있으면 배포가 실패할 수 있다. 로드가 높으면 다른 작업과 충돌할 수 있다.

포트 점유 확인

배포할 애플리케이션의 포트가 이미 사용 중인지 본다:

sudo ss -lntp | grep LISTEN

특정 포트를 보려면:

sudo ss -lntp | grep :3000

이미 다른 프로세스가 점유 중이면, 그 프로세스를 먼저 정리해야 한다.

최근 시스템 에러 확인

sudo journalctl -n 80

또는 이전 1시간의 에러만:

sudo journalctl --since "1 hour ago" | grep -i error

이 결과에서 배포하려는 애플리케이션 관련 에러가 있으면 원인을 먼저 파악해야 한다.

애플리케이션 프로세스 확인

현재 실행 중인 Node.js 프로세스가 있는지 본다:

ps aux | grep node

좀비 프로세스나 오래된 프로세스가 있으면 정리한다:

sudo kill -9 <PID>

네트워크 확인

Internet 연결 상태를 본다:

ping -c 3 8.8.8.8

DNS가 제대로 작동하는지:

nslookup example.com

배포 전 체크리스트

  1. 디스크 여유 공간이 충분한가? (최소 20% 이상)
  2. 로드가 정상 범위인가? (CPU 사용률 < 80%)
  3. 배포할 포트가 비어 있는가?
  4. 최근 에러 로그가 없는가?
  5. 네트워크 연결은 정상인가?

이 정도만 빠르게 확인하고 배포하면, 배포 후 예상치 못한 문제로 고생할 가능성을 크게 줄일 수 있다.