로컬 개발 서버 옵션

로컬 개발 서버(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_ROOTdevapp_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.yamlenv_variables 외에도 로컬 프로세스에 추가 환경 변수를 설정할 수 있게 해줍니다. 예를 들면 --env_var KEY_1=val1 --env_var KEY_2=val2입니다.
--go_debugging=yes|no
delve 또는 gdb를 사용하여 디버깅을 사용 설정하려면 yes로 설정합니다. 그러면 디버깅에 필요한 모든 기호를 사용하여 앱 바이너리가 빌드되며, 실행 중인 프로세스에 정상적으로 연결할 수 있습니다(예: sudo dlv attach <pid>).