← 전체 글로 돌아가기

웹 개발

VPS 처음 세팅할 때 포트 충돌 문제 빠르게 해결하기

새 서버에서 포트가 이미 사용 중이라고 나올 때 원인을 찾고 대응하는 실전 방법입니다.

VPS를 처음 세팅할 때 포트 충돌은 거의 항상 만난다. 8080 포트를 쓰려고 했는데 이미 다른 프로세스가 점유하고 있다고 나온다.

이럴 때 당황하지 않으려면 확인 순서를 미리 알아두는 게 낫다.

어떤 프로세스가 포트를 쓰고 있는지 확인하기

포트 충돌은 보통 시스템 서비스나 다른 애플리케이션이 같은 포트를 쓰고 있을 때 생긴다.

가장 빠른 방법:

  • 현재 포트 상태 확인
  • 정상일 때의 포트 점유 상태와 비교
  • 마지막으로 수정한 설정 내용 확인

포트를 사용 중인 프로세스 찾고 정리하기

운영 중에는 작은 이상 신호도 빨리 분리해서 봐야 한다.

sudo ss -lntp | grep :8080
# 프로세스 ID를 찾아서 뭐가 실행 중인지 확인한다

포트가 LISTEN 상태인지 TIME_WAIT 상태인지에 따라 대응이 달라진다. TIME_WAIT이면 시간이 지나면 자동으로 해제되지만 LISTEN이면 프로세스를 종료하거나 다른 포트를 써야 한다.

원인 찾기와 임시 대응

포트 자체보다는 그 포트를 왜 쓰려고 했는지가 중요하다. 잠깐 임시로 다른 포트를 쓸 수도, 기존 프로세스를 종료할 수도 있다.

  1. 원래 증상이 같은 조건에서 다시 나오는지 확인한다.
  2. 로그를 보고 뭐가 다른지 정리한다.
  3. 최종적으로 배포된 서버에서 문제가 해결됐는지 확인한다.

정리하며

포트 충돌은 해결 자체보다 어떤 값이 달라졌는지 설명할 수 있는 상태가 더 중요하다. 다음에 비슷한 증상이 나오면 현재 값을 먼저 기록하고 하나씩 비교하면 된다.