django - 为 aws s3 静态和媒体文件配置 Nginx

标签 django amazon-web-services nginx amazon-s3

我将 aws s3 用于我的 django 应用程序的静态和媒体文件。 Gunicorn 和 Nginx 被用于应用程序和代理服务器。

Nginx 设置:

server {
    listen 80;
    server_name sitename.com;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/SiteNameDjango/myproject/myproject.sock;
    }
}

由于我将 aws s3 用于我的静态和媒体文件,我应该如何为我的静态位置配置 Nginx?或者不需要配置静态和媒体文件?

如果有帮助,这里是 aws s3 的 Django 项目设置:
STATICFILES_LOCATION = 'static'
MEDIAFILES_LOCATION = 'media'
STATICFILES_STORAGE = 'myproject.custom_storages.StaticStorage'
DEFAULT_FILE_STORAGE = 'myproject.custom_storages.MediaStorage'
AWS_STORAGE_BUCKET_NAME = "django-bucket"
AWS_S3_CUSTOM_DOMAIN = AWS_STORAGE_BUCKET_NAME + ".s3.amazonaws.com"
STATIC_URL = "https://" + AWS_STORAGE_BUCKET_NAME + ".s3.amazonaws.com/"
MEDIA_URL = STATIC_URL + "media/"
ADMIN_MEDIA_PREFIX = STATIC_URL + "admin/"

例如网址:
https://django-bucket.s3.amazonaws.com/media/user_image/1497598249_49.jpeg

最佳答案

在 S3 的情况下,nginx 不负责提供静态和媒体文件,您无需配置任何内容。

关于django - 为 aws s3 静态和媒体文件配置 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689882/

相关文章:

amazon-web-services - 如何找到谁创建了 AWS RDS 数据库实例?

nginx - nginx源代码中的 "elts"代表什么

amazon-web-services - 如何在 ElasticBeanstalk Cloudformation 模板中为 IAM 用户配置对 ECR 的访问权限?

amazon-web-services - 如何通过 API 创建启用 PITR 的表?

python - 如何在运行时在 Django 中添加动态字段

python - python django 中带有 OR 条件的 LEFT JOIN

django - Openresty : pass a request to FastCGI if data does not found in redis cache 中带有 nginx 的 Lua

apache - Cloudflare 错误随机 302 重定向

python - 如何在 Python 中使用新的 Twitter API 1.1 搜索?

python - Django 1.6 : How to ignore a fixture in python manage. py 加载数据?