웹 개발
VPS 처음 세팅할 때 포트 충돌 문제 빠르게 해결하기
새 서버에서 포트가 이미 사용 중이라고 나올 때 원인을 찾고 대응하는 실전 방법입니다.
VPS를 처음 세팅할 때 포트 충돌은 거의 항상 만난다. 8080 포트를 쓰려고 했는데 이미 다른 프로세스가 점유하고 있다고 나온다.
이럴 때 당황하지 않으려면 확인 순서를 미리 알아두는 게 낫다.
어떤 프로세스가 포트를 쓰고 있는지 확인하기
포트 충돌은 보통 시스템 서비스나 다른 애플리케이션이 같은 포트를 쓰고 있을 때 생긴다.
가장 빠른 방법:
- 현재 포트 상태 확인
- 정상일 때의 포트 점유 상태와 비교
- 마지막으로 수정한 설정 내용 확인
포트를 사용 중인 프로세스 찾고 정리하기
운영 중에는 작은 이상 신호도 빨리 분리해서 봐야 한다.
sudo ss -lntp | grep :8080
# 프로세스 ID를 찾아서 뭐가 실행 중인지 확인한다
포트가 LISTEN 상태인지 TIME_WAIT 상태인지에 따라 대응이 달라진다. TIME_WAIT이면 시간이 지나면 자동으로 해제되지만 LISTEN이면 프로세스를 종료하거나 다른 포트를 써야 한다.
원인 찾기와 임시 대응
포트 자체보다는 그 포트를 왜 쓰려고 했는지가 중요하다. 잠깐 임시로 다른 포트를 쓸 수도, 기존 프로세스를 종료할 수도 있다.
- 원래 증상이 같은 조건에서 다시 나오는지 확인한다.
- 로그를 보고 뭐가 다른지 정리한다.
- 최종적으로 배포된 서버에서 문제가 해결됐는지 확인한다.
정리하며
포트 충돌은 해결 자체보다 어떤 값이 달라졌는지 설명할 수 있는 상태가 더 중요하다. 다음에 비슷한 증상이 나오면 현재 값을 먼저 기록하고 하나씩 비교하면 된다.