我想在 AWS EC2 上部署 Django 项目。对于我的媒体文件,我需要 S3 上的存储桶。我的项目在 localhost 上运行良好,我可以从 S3 访问媒体,但在部署后我无法获得 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 这就是我收到服务器错误 500 的原因。
这是 settings.py 的主要部分
DEBUG = False
ALLOWED_HOSTS = ['XXXXXXXX']
INSTALLED_APPS = [
'apps.comic',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'storages',
]
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'apps/comic/static/media')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
我尝试制作 ~/.aws/credentials:
[default]
aws_access_key_id = X...X
aws_secret_access_key = X...X
但这与服务器错误 500 的结果相同。我只能获得登录/注册页面,因为我没有任何媒体文件。
制作后获取媒体文件应该怎么做?我是否需要对凭据或 settings.py 文件进行一些更改?