2018/01/28

GCE + Django でGoogle Cloud Storageにstaticファイルを配置する際のメモ

Google Compute Engine (GCE) + Djangoでサイトを構築する場合に,staticファイルをGoogle Cloud Storageに配置する場合の設定に関するメモ.

pip で必要なモジュールをインストール.

pip install django-storages
pip install boto
pip install google-compute-engine

ただし,google-compute-engine はローカルでの実行では不要っぽい.

次にGoogle Cloud Platform のコンソールから,

Storage => バケットを作成

でバケットを作成し,バケットのページの

設定 => 相互運用性 => 新しいキーを作成

でキーを作成.
アクセスキーとシークレットを記録しておく.

加えて,settings.py に以下を追加.

DEFAULT_FILE_STORAGE = 'storages.backends.gs.GSBotoStorage'
GS_ACCESS_KEY_ID = '<アクセスキー>'
GS_SECRET_ACCESS_KEY = '<シークレット>'
GS_BUCKET_NAME = '<バケット名>'
STATICFILES_STORAGE = 'storages.backends.gs.GSBotoStorage'

あとは,manage.py で collectstaticすれば,Google Cloud Storageにstaticファイルがアップロードされる.

以上の設定をすれば,ローカルでも本番でもGoogle Cloud Storageからstaticファイルを参照するようになる.
サイトを開いてstaticファイルの参照元を調べれば,以下のようにstorage側から取ってきているっぽいことが確認できる.

<link rel="stylesheet" href="https://<バケット名>.storage.googleapis.com:443/css/<ファイル名>?Signature=<???>&amp;Expires=<???>&amp;GoogleAccessId=<???>">


参考リンク
https://github.com/RaRe-Technologies/gensim/issues/898
https://stackoverflow.com/questions/34247702/configure-django-and-google-cloud-storage



0 件のコメント:

コメントを投稿