개발 서버 실행
목표
/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.aidev 도메인(Route53 A 레코드, Apache vhost, Let's Encrypt)을 세팅한 뒤.env의ALLOWED_HOSTS에 도메인을 추가한다. 그다음manage.py runserver 0.0.0.0:{포트}를 백그라운드로 기동한다.- 도메인은 slug 의
_를-로 바꾼 형태다(DNS 는_불가). 예: slugmy_project→my-project-dev.popupstudio.ai. 실제 주소는/dev가 출력한다.
- 도메인은 slug 의
- 이후 실행: 이미 할당된 포트로 바로 기동만 한다.
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으로 기능 개발.