✅ Django 서버 실행 시 "That port is already in use" 에러 해결법 (포트 점유 강제 종료)
Django 서버를 실행할 때 다음과 같은 에러를 본 적 있으신가요?
Error: That port is already in use.
이 에러는 기존에 이미 포트 8000을 사용 중인 프로세스가 있어서 Django 서버가 해당 포트에 접근하지 못할 때 발생합니다. 아래 단계대로 따라 하면 문제를 쉽게 해결할 수 있어요!
🧩 에러 상황 재현
python manage.py runserver
결과:
System check identified no issues (0 silenced).
Error: That port is already in use.
✅ 1단계: 현재 포트 사용 중인 프로세스 확인
sudo lsof -i :8000
예시 출력:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 544215 rainsos 3u IPv4 1054286 0t0 TCP localhost:8000 (LISTEN)
여기서 PID 숫자(예: 544215)를 확인합니다.
✅ 2단계: 프로세스 강제 종료
kill -9 544215 # 위에서 확인한 PID 숫자를 입력하세요
종료 후 다시 포트가 비었는지 확인합니다:
sudo lsof -i :8000
→ 출력이 없다면 정상적으로 종료된 상태입니다.
✅ 3단계: Django 서버 다시 실행
python manage.py runserver
정상 실행 시:
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
💡 TIP: 포트를 바꿔서 실행하는 방법
기존 포트가 자주 충돌한다면 다른 포트로 실행할 수 있습니다:
python manage.py runserver 8001
또는:
python manage.py runserver 127.0.0.1:8080
✅ 요약
단계 명령어 설명
포트 확인 | sudo lsof -i :8000 | 8000번 포트를 점유 중인 프로세스 찾기 |
강제 종료 | kill -9 [PID] | 해당 프로세스를 강제로 종료 |
서버 실행 | python manage.py runserver | Django 개발 서버 실행 |
이제 포트 충돌로 고생하지 마세요 😊
필요하면 자동으로 비어 있는 포트를 찾아주는 스크립트도 만들어드릴 수 있어요!
'기술블로그' 카테고리의 다른 글
📌 파이썬 데코레이터 완벽 정리 - 함수에 기능을 덧붙이는 마법 (0) | 2025.05.07 |
---|---|
✅ Django 모델에서 ForeignKey(User, ...) 에서 'User'는 인자일까? 매개변수일까? (0) | 2025.05.07 |
✅ 왜 로그인은 자동인데, 회원가입은 우리가 직접 만들어야 할까? (0) | 2025.05.06 |
✅ Django에서 LOGIN_URL, LOGIN_REDIRECT_URL을 설정했는데, 왜 view에서 또 명시해야 할까? (0) | 2025.05.06 |
✅ Django에서 {% url 'login' %}이 가능한 이유 정리 (0) | 2025.05.06 |