数日前にこちらで質問した者です。以前の質問はこちらです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; } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。