Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GAEによるPythonWEBアプリケーションの高速開発

 GAEによるPythonWEBアプリケーションの高速開発

shimakaze-git

August 30, 2019
Tweet

More Decks by shimakaze-git

Other Decks in Programming

Transcript

  1. BackEnd Enginner しまかぜsoft (@shimakaze_soft) 株式会社 Pasona JOB HUB に所属 DjangoCongressJP

    スタッフ バックエンドエンジニア( 主にDjango を使⽤) 少しだけインフラエンジニアも兼務 BtoC 向けのサービスを開発 shimakaze_soft ( ⼤島和輝) お前、誰よ?
  2. ・AWS のECS よりも価格が安い ・Node 、Java 、Ruby 、C# 、Go 、Python 、PHP

    など のあらゆる⾔語ををサポート ・Standard とFlexible の⼆種類がある Google App Engine の特徴 (1)
  3. Flexible 環境 ・ローカルディスクの書き込み可能 ・Dockerfile によるカスタマイズが可能 ・SSH 接続が可能 Standard 環境 ・⼀部、機能が制限されている

    ・ローカルディスクの書き込みが不可能 ・インスタンスの起動時間が⼀瞬 ・SSH 接続ができない
  4. $ django-admin startproject sample_django $ cd sample_django $ python manage.py

    migrate $ touch requirements.txt $ vim requirements.txt # django を導⼊ django==2.2.3 Django のセットアップ (1)
  5. $ vim config/settings.py # STATIC 関連の設定 STATIC_URL = '/static/' STATIC_ROOT

    = os.path.join(BASE_DIR, 'static') $ python manage.py collecstatic Django のセットアップ (2)
  6. $ touch main.py $ vim main.py # GAE で読み込むためのファイルを設定する from

    sample_django.wsgi import application app = application Django のセットアップ (3)
  7. handlers: - url: / script: auto - url: /static static_dir:

    static/ 構成ファイルの書き⽅ (2) app.yaml handlers のルーティングの設定
  8. handlers: - url: / script: auto (auto にするとmain.py を⾃動で選択) -

    url: /static static_dir: static/ 構成ファイルの書き⽅ (2) app.yaml handlers のルーティングの設定
  9. ・requirements.txt というのはPython のパッケージ 管理ファイル ・以下のコマンドがGAE 内で $ pip install -r

    requirements.txt requirements.txt の内容を元に⾃動でパッ ケージをインストールする