【问题标题】:Django Channels 2.0 and Daphne: serving static and media filesDjango Channels 2.0 和 Daphne:提供静态和媒体文件
【发布时间】:2018-06-20 09:43:09
【问题描述】:

我已经搜索了一段时间,但找不到任何关于如何与 Daphne 一起提供静态用户上传 (/media/) 文件的教程。我读过 Apache 不支持 ASGI,可能可以使用 Nginx,但没有具体说明。

我也试过whitenoise(只支持静态文件)和dj-static(只支持WSGI)。出于隐私原因,我不想使用外部 CDN。

您能否提供有关可能设置的任何提示?

【问题讨论】:

    标签: django django-channels daphne


    【解决方案1】:

    在生产中,最好让 nginx/apache 提供静态/媒体文件。如果您使用的是 nginx,请将其添加到您的配置中。

    location /static {
        alias {{ project_root }}/static;
    }
    
    location /media {
        alias {{ project_root }}/media;
    }
    

    apache 和 nginx 都不支持 ASGI。您必须使用 daphne 或 uvicorn 将在 nginx/apache 后面运行以支持 ASGI。我还写了一篇文章on django channels deployment,如果您需要更多详细信息。

    【讨论】:

    • 是的,这就是我最终使用的,非常感谢!我希望有一个支持 ASGI 的 rednoise 分支(因为这将使人们能够限制特定媒体文件对登录用户的访问等)
    猜你喜欢
    • 2018-07-20
    • 2012-10-29
    • 2019-07-16
    • 2017-10-15
    • 2020-05-23
    • 2012-06-15
    • 2012-07-07
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多