Heroku与AWS-用于部署带有图像的简单网站

我正在尝试部署一个包含文本和少量图像的个人网站(基于python django的框架)。有人可以告诉他们部署到heroku与AWS相比有什么优点和缺点吗?

PS:我已经将其部署在AWS上,但是图像未加载。因此,我正在考虑使用Heroku,但不确定是否应该使用Heroku或AWS会更稳定。

ly13644593292 回答:Heroku与AWS-用于部署带有图像的简单网站

AWS需要做更多的工作,但是更好...

要使用图像,您将需要在Amazon S3中创建存储桶,这是我的设置,可以在Amazon S3中使用媒体和静态文件:

if not DEBUG:
    AWS_ACCESS_KEY_ID = os.getenv('AWS_ACCESS_KEY_ID')
    AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY')
    AWS_STORAGE_BUCKET_NAME = os.getenv('AWS_STORAGE_BUCKET_NAME')
    AWS_S3_CUSTOM_DOMAIN = '{}.s3.amazonaws.com'.format(AWS_STORAGE_BUCKET_NAME)
    AWS_DEFAULT_ACL = 'public-read'

    AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}

    AWS_STATIC_LOCATION = 'static'
    AWS_MEDIA_LOCATION = 'media'

    STATICFILES_STORAGE = 'name_of_your_project.storage_backends.StaticStorage'
    STATIC_URL = 'https://{}/{}/'.format(AWS_S3_CUSTOM_DOMAIN,AWS_STATIC_LOCATION)
    STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
    STATICFILES_FINDERS = (
        'django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder',)

    CKEDITOR_BASEPATH = "{}/ckeditor/ckeditor".format(STATIC_URL)

    MEDIA_URL = 'https://{}/{}/'.format(AWS_S3_CUSTOM_DOMAIN,AWS_MEDIA_LOCATION)
    DEFAULT_FILE_STORAGE = 'name_of_your_project.storage_backends.MediaStorage'

在settings.py的同一文件夹中创建一个名为storage_backends.py的文件:

from storages.backends.s3boto3 import S3Boto3Storage
from django.conf import settings


class StaticStorage(S3Boto3Storage):
    location = settings.AWS_STATIC_LOCATION


class MediaStorage(S3Boto3Storage):
    location = settings.AWS_MEDIA_LOCATION
    file_overwrite = False

您将需要安装boto3和django-storages:

pip install boto3
pip install django-storages
本文链接:https://www.f2er.com/3048201.html

大家都在问