← 전체 글로 돌아가기

웹 개발

VPS 재부팅 후 애플리케이션이 안 떠올 때 확인 순서

서버를 재부팅한 뒤 앱이 시작되지 않으면, 디스크, 프로세스, 포트 바인딩을 순서대로 확인하면 대부분 해결된다.

VPS를 재부팅한 후 애플리케이션이 실행되지 않으면 당황스럽다. 하지만 대부분의 경우 몇 가지 기본 확인으로 원인을 찾을 수 있다.

디스크 상태를 먼저 본다

df -h

재부팅 중에 로그 파일이 가득 차거나 임시 파일이 쌓여 있을 수 있다. 디스크가 95% 이상 찼다면 애플리케이션이 제대로 시작될 수 없다. 불필요한 로그나 캐시를 정리한 뒤 다시 시작해 본다.

포트가 사용 중인지 확인한다

sudo ss -lntp

앱이 바인드하려는 포트가 이미 다른 프로세스에 의해 사용되고 있을 수 있다. 재부팅 후 자동 시작되는 서비스들이 같은 포트를 두고 싸울 수도 있다.

필요하면 포트를 변경하거나, 기존 프로세스를 종료한다:

sudo kill -9 <PID>

시스템 로그를 본다

sudo journalctl -n 80

또는 더 자세히:

sudo journalctl -n 200 -u <service-name>

에러 메시지가 명확히 나올 경우가 많다. 권한 문제, 설정 파일 누락, 데이터베이스 연결 실패 등이 보인다.

서비스 상태를 확인한다

sudo systemctl status <service-name>

서비스가 활성화되어 있는지, 자동 시작이 설정되어 있는지 확인한다. 재부팅 후에도 서비스가 자동으로 시작되려면:

sudo systemctl enable <service-name>

환경 변수와 설정 파일을 점검한다

재부팅하면서 환경 변수 설정이 초기화될 수 있다. 서비스 파일이나 스크립트에서 필요한 모든 변수를 명시해 두어야 한다.

변경 내용을 기록한다

이번에 무엇을 확인했고, 어떻게 해결했는지 간단히 기록해 두면, 다음 재부팅 때 훨씬 빨리 대응할 수 있다.