🚀 엔지니어 · 온보딩 · 개발 · L01

개발 서버 실행

작성일자 2026-07-24  ·  수정일자 2026-07-24  ·  강의차수 L01  ·  예상소요 5분

목표 /dev 로 개발 서버를 띄우고 할당된 dev 도메인으로 접속한다.

1. 언제 하나

작업을 시작할 때마다 개발 서버를 띄운다. standarda 는 프로젝트마다 포트(8000~8099)와 dev 도메인이 매핑돼 있어, runserver 를 손으로 치기보다 /dev 스킬로 기동하는 것이 표준이다.


2. 실행

프로젝트 루트(src)에서 Claude Code 를 켠다. my_project 는 본인 clone 폴더 이름이다.

# 🖥️ 서버 터미널
gildong@ip-172-31-39-132:~$ cd ~/my_project/src
gildong@ip-172-31-39-132:~/my_project/src$ claude

Claude Code 안에서 /dev 를 호출한다(자연어 "개발 서버 띄워줘" 도 같은 스킬로 라우팅된다).

/dev

/dev 가 하는 일은 상태에 따라 갈린다.

  • 첫 실행: 팀 위키 포트 표(wiki/infrastructure/server-environment.md)에서 빈 포트를 잡아 등록하고, <slug>-dev.popupstudio.ai dev 도메인(Route53 A 레코드, Apache vhost, Let's Encrypt)을 세팅한 뒤 .env 의 ALLOWED_HOSTS 에 도메인을 추가한다. 그다음 manage.py runserver 0.0.0.0:{포트} 를 백그라운드로 기동한다.
    • 도메인은 slug 의 _ 를 - 로 바꾼 형태다(DNS 는 _ 불가). 예: slug my_project → my-project-dev.popupstudio.ai. 실제 주소는 /dev 가 출력한다.
  • 이후 실행: 이미 할당된 포트로 바로 기동만 한다.

runserver 출력은 백그라운드 로그(예: ~/my_project/runserver.log)로 흐른다. 디버깅 시 이 로그를 먼저 본다.


3. 접속 확인

기동이 끝나면 로컬 주소와 dev 도메인(https://my-project-dev.popupstudio.ai)이 출력된다. 그 주소로 응답이 오면 서버가 떠 있는 것이다. DisallowedHost 가 뜨면 .env 의 ALLOWED_HOSTS 에 dev 도메인이 빠진 것이다. 그 외 에러는 추측하지 말고 runserver 로그부터 본다(## Debugging Rules).


마무리

  • 핵심 정리: src 에서 /dev 로 개발 서버를 띄웠다. 첫 실행이면 포트 할당·dev 도메인·ALLOWED_HOSTS 세팅까지 자동으로 처리된다.
  • 주의 사항: Claude Code 는 반드시 프로젝트 루트(~/my_project/src)에서 켠다. 다른 경로에서 켜면 엉뚱한 프로젝트 컨텍스트가 잡힌다.
  • 다음 시간: /develop 으로 기능 개발.
이 강의를 학습하셨나요?