로컬 개발 서버(dev_appserver.py
)는 gcloud CLI의 App Engine 구성요소의 일부입니다. 이 주제에서는 dev_appserver.py
사용 방법에 대한 고급 정보를 제공합니다.
로컬 테스트에 대한 자세한 내용은 로컬 개발 서버 사용을 참조하세요.
로컬 개발 서버 도구 설정
샘플 dev_appserver.py
명령어는 다음과 같습니다.
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES
다음을 바꿉니다.
- DEVAPPSERVER_ROOT를
devapp_server.py
의 보관처리된 버전을 추출하는 루트 디렉터리 경로로 바꿉니다.dev_appserver.py
의 보관처리된 버전 다운로드 및 사용에 대한 자세한 내용은 로컬 개발 서버 사용을 참조하세요. - OPTION을 로컬 개발 서버에서 지원하는 플래그로 바꿉니다.
- FILES는 위치 인수
yaml_path
에 대해 하나 이상의app.yaml
파일을 서비스당 하나씩 지정합니다.
전체 옵션 목록을 보려면 다음을 실행합니다.
DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py -h
일반 옵션
가장 일반적인 옵션은 다음과 같습니다.
--admin_host=ADMIN_HOST
- 로컬 개발 서버의 관리 콘솔이 바인딩되어야 하는 호스트 이름입니다(기본값: localhost).
--admin_port=ADMIN_PORT
- 로컬 개발 서버의 관리 콘솔이 바인딩되어야 하는 포트입니다(기본값: 8000).
--enable_sendmail=yes|no
- 이메일 메시지 전송을 위해 로컬 컴퓨터의 Sendmail 설치를 사용합니다.
--enable_task_running=yes|no
- 개발 서버에서 push 태스크를 실행하도록 사용 설정합니다. 기본값은
yes
입니다.no
로 지정하면 서버에서 push 태스크를 실행하지 않습니다. --help
- 유용한 메시지를 출력한 후 종료합니다.
--host=...
- 서버에 사용할 호스트 주소입니다. 네트워크의 다른 컴퓨터에서 개발 서버에 액세스하려면 이 주소를 설정해야 합니다. 주소가
0.0.0.0
이면 localhost 액세스 및 IP 또는 호스트 이름 액세스가 모두 허용됩니다. 기본값은localhost
입니다. --log_level=...
- 로깅 메시지가 콘솔에 기록되는 최저 로깅 수준입니다. 지정된 로깅 수준 이상의 메시지가 출력됩니다.
가능한 값은
debug
,info
,warning
,error
,critical
입니다. --port=...
- 서버에 사용할 포트 번호입니다. 기본값은
8080
입니다. 서비스 등을 위해 여러 서버가 실행된 경우8081
,8082
와 같은 후속 포트가 할당됩니다. --logs_path=...
- 기본적으로 로컬 개발 서버의 로그는 메모리에만 저장됩니다. 로그를 파일에 저장하기 위해 로컬 개발 서버를 실행할 때 이 옵션을 지정하면 서버가 다시 시작되어도 로그를 계속 사용할 수 있습니다.
SQLite 데이터베이스 파일에 디렉터리 경로와 이름을 지정해야 합니다. SQLite 데이터베이스 파일은 아직 존재하지 않는 경우, 지정된 이름을 사용하여 생성됩니다. 예를 들면 다음과 같습니다. 예를 들면
--logs_path=/home/logs/boglogs.db
입니다. --require_indexes=yes|no
index.yaml
파일의 항목 자동 생성을 중지합니다. 대신, 파일에 색인을 정의하도록 요구하는 쿼리가 애플리케이션에서 수행되었을 때 색인 정의가 발견되지 않으면, App Engine에서 실행할 때 발생하는 것과 비슷한 예외가 발생합니다. 기본값은no
입니다.--smtp_host=...
- 이메일 메시지 전송에 사용할 SMTP 서버의 호스트 이름입니다.
--smtp_port=...
- 이메일 메시지 전송에 사용할 SMTP 서버의 포트 번호입니다.
--smtp_user=...
- 이메일 메시지를 전송할 수 있도록 SMTP 서버에 사용할 사용자 이름입니다.
--smtp_password=...
- 이메일 메시지를 전송할 수 있도록 SMTP 서버에 사용할 비밀번호입니다.
--storage_path=...
--datastore_path
,--blobstore_path
,--logs_path
로 재정의되지 않는 한 Datastore, Blobstore, Cloud Storage 파일 및 로그와 같은 모든 로컬 파일이 저장되는 경로입니다.--support_datastore_emulator=yes|no
- 로컬 Datastore 에뮬레이션에 Cloud Datastore Emulator(베타)를 사용합니다.
--datastore_emulator_port=...
- Cloud Datastore Emulator(베타)에 사용할 포트 번호입니다.
--env_var=...
- 로컬 런타임 프로세스에 사용자가 정의한 환경 변수입니다. 각
env_var
는 키=값 형식이며 여러 환경 변수를 정의할 수 있습니다. 이 플래그는app.yaml
의env_variables
외에도 로컬 프로세스에 추가 환경 변수를 설정할 수 있게 해줍니다. 예를 들면--env_var KEY_1=val1 --env_var KEY_2=val2
입니다. --go_debugging=yes|no
- delve 또는 gdb를 사용하여 디버깅을 사용 설정하려면 yes로 설정합니다. 그러면 디버깅에 필요한 모든 기호를 사용하여 앱 바이너리가 빌드되며, 실행 중인 프로세스에 정상적으로 연결할 수 있습니다(예:
sudo dlv attach <pid>
).