소프트웨어 개발/Python

Django Google Cloud App Engine 써보기

늘근이 2018. 3. 26. 22:12

Google Cloud Engine 에서 파이썬을 써서 cms를 운영해야 될 욕심이 생겼다. 

외국 PHP 를 호스팅하는 서버가 국내에서 접속이 잘 안된다. 스팸방지때문에 그러해보인다. 

windows하의 환경에서는 모두 gcloud sdk에서 작동시키도록 한다.


밑글은 아래 링크를 리마인드 하기위한 끄적거림

https://cloud.google.com/python/django/appengine


일단 1)

Google Cloud Platform에 가서 Python Instance를 하나 만들고,

https://cloud.google.com/?hl=ko


2) DB instance도 만들어준다

https://cloud.google.com/sql/docs/mysql/create-instance


Google sdk를 깐후 정상작동 확인한다

$ gcloud sql instances describe XXXXXXXX

뭐라뭐라 나오면 정상작동인듯하다.

[PROJECT_NAME]:[REGION_NAME]:[INSTANCE_NAME]

특정 양식으로 접근해본다.

cloud_sql_proxy.exe -instances="[YOUR_INSTANCE_CONNECTION_NAME]"=tcp:3306

잘 접속이안되는것으로 보인다. could not find default credentials.

아래사이트참조

https://developers.google.com/accounts/docs/application-default-credentials

이게 왜 안되냐면 로그인 되어있지 않아서 그렇다. 이걸 때려주면 된다.

gcloud auth application-default login


3) DB접속해서, DB만들고 유저만든다.

샘플앱에는 디비접속용 settings.py 가 있다. 거기를 바꾼다. 유저네임 패스워드 디비이름 그리고 host에서 내 클라우드 거시기로.


4) virtualenv 에서, 샘플에 담겨져있는 requirements를 깔아본다. 까보니 별건없고  pymysql이랑 django가 존재한다. 둘다 깔아줘야지 django가 깔려있지 않습니다라는 이상한 메시지를 보고싶지 않으면 말이다.


하란대로 다해준다

  1. virtualenv env
    env
    \scripts\activate
    pip install
    -r requirements-vendor.txt -t lib/
    pip install
    -r requirements.txt


  2. python manage.py makemigrations
    python manage
    .py makemigrations polls
    python manage
    .py migrate


5) 돌려라. 다만 프록시가 연결되어있어야 될것이다.

생각보다 삽질없이 잘된다???? - 여기까지 한시간.

로컬에서 8000으로 돌리면 된다.



6) 로컬에서 확인했으니 이제 원격에서 그대로 돌아가는지만 확인하면 된다. 수퍼유저 어쩌고는 됐다.


7) 이제 static한 리소스를 전부 모아주고. 올린다.

python manage.py collectstatic
gcloud app deploy


gloud app browse 이걸로 확인하면 된다. 되어부렀다/.