python 및 머신러닝 교육, 슬로우캠퍼스


google app engine 클라이언트를 설치하면,

개발 PC의 로컬 환경에서 어플리케이션의 동작을 테스트할 수 있는 환경이 주어진다.

웹서버 구동은 dev_appengine.py 파일 실행 또는 app engine launcher를 이용하게 되는데,

구동된 웹서버를 확인할 때, 기본적으로 웹브라우저에서 http://localhost:8080 형식의 주소로 접근하게 된다.



그런데 같은 로컬네트워크 상의 다른 PC나 모바일 기기에서 해당 웹서버에 접근하려고 하면 문제가 발생한다.

http://192.168.0.10:8080 형식의 주소에 대한 바인딩이 이루어지지 않았기 때문이다.

일반적으로 apache나 tomcat 같은 웹서버 환경에서는

자동?으로 http://192.168.0.10 같은 로컬네트워크 주소가 세팅이 되는데에 반해,

python 기반의 google app engine 웹서버에서는 이같은 기능을 기본적으로 제공하지 않고

loopback adapter만 바인딩된다.

그러므로 http://localhost:8080 또는 http://127.0.0.1:8080은 접근 가능하지만,

http://192.168.0.10:8080은 PC의 물리적 네트워크 카드에 웹서버가 바인딩되지 않았기 때문에 접근이 불가능하다.



해결방법:

1. command line 실행 시

- dev_appengine.py의 파라미터에 --host=192.168.0.10 추가



2. google app engine launcher 사용 시

- 목록에서 해당서버 더블클릭

- Application Settings 팝업창 열림

- Launch Setting에 --host=192.168.0.10 추가




참고로 --host='192.168.0.10'이나 --host="192.168.0.10" 등의 quotation은

정상적으로 작동하지 않는다는 점을 유의할 필요가 있다.


by Sangjune Park



'Google App Engine (GAE)' 카테고리의 다른 글

Google App Engine 에서 Flask 기반으로 개발하기  (0) 2014.08.10
App Engine 강의 자료  (0) 2013.07.18
Google Cloud Quotas, Limit  (0) 2013.07.08

WRITTEN BY
manager@
Data Analysis, Text/Knowledge Mining, Python, Cloud Computing, Platform

,