서버 운영
배포 전에 서버 상태 빠르게 확인하는 명령어
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
배포 전 체크리스트
- 디스크 여유 공간이 충분한가? (최소 20% 이상)
- 로드가 정상 범위인가? (CPU 사용률 < 80%)
- 배포할 포트가 비어 있는가?
- 최근 에러 로그가 없는가?
- 네트워크 연결은 정상인가?
이 정도만 빠르게 확인하고 배포하면, 배포 후 예상치 못한 문제로 고생할 가능성을 크게 줄일 수 있다.