質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

解決済

DjangoでAWSのS3の設定をすると動画投稿サイトがInternal Server Errorになる

motuni
motuni

総合スコア20

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

2回答

0評価

0クリップ

2913閲覧

投稿2019/10/28 14:12

編集2019/10/29 01:06

数日前にこちらで質問した者です。以前の質問はこちらですDjangoで画像をS3にアップしたいのですがエラーが出てしまいます

前回のエラーは「502 Bad Gateway nginx/1.14.0 (Ubuntu)」というエラーが出ていました。
今回はもう一度デプロイをやり直しました。

恐らくエラーが変わった理由は以下。

■ 前回、実行したコマンド→ pip install django-storages
→ pip install boto3 

■ 今回、実行したコマンド→ pip3 install django-storages
→ pip3 install boto3  

pipに3を付けてコマンドを叩いたところ、エラー表示が「502 Bad Gateway」から、「Internal Server Error」に変わったのです。

■ S3のバケットにも「python3 manage.py collectstatic」コマンドの後、無事にstaticフォルダが作成されました。

■ EC2のインスタンスの権限はIAMロールのAmazonS3FullAccess権限を割り当てました。

■ 主に参考にしたサイトは以下ですが、この通りにやっても上手くいかずに困りましたので自分なりに調べながらやっています。

静的ファイル、メディアファイルをAmazon S3で管理 - Narito Blog

■ 気になる所として、マイグレーションをしようとすると

raise ImproperlyConfigured("Could not load Boto's S3 bindings.\n" django.core.exceptions.ImproperlyConfigured: Could not load Boto's S3 bindings.

以上のエラー表示が出ます。

これが問題の解決の糸口の可能性がありますでしょうか?
ぜひご教示お願い致します。

settings.pyの設定は以下です。

STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, "static/") STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') ] # メディアファイル関連 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') LOGIN_URL = 'login' # 共通の設定 AWS_ACCESS_KEY_ID = 'AK×××××××××××××××××××××' AWS_SECRET_ACCESS_KEY = '×××××××××××××××××××××' AWS_STORAGE_BUCKET_NAME = 'motuni' AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME AWS_S3_OBJECT_PARAMETERS = { 'CacheControl': 'max-age=86400', # 1日はそのキャッシュを使う } # 静的ファイルの設定 AWS_LOCATION = 'static' STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION) # メディアファイルの設定 DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

恐らくNginxの設定が間違っていると思いますが、どこが間違いなのかわかりません。

server { listen 80; server_name motuni.xyz; location = /favicon.ico {access_log off; log_not_found off;} location /static/ { root /home/ubuntu/project4; } location /media/ { root /home/ubuntu/project4; } location /static/admin { root /home/ubuntu/py36/lib/python3.6/site-packages/django/contrib/admin; } location / { include proxy_params; proxy_pass http://unix:/home/ubuntu/project4/project4.sock; } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。