5

我一直致力于从 Ubuntu 服务器提供 Django 应用程序。我已按照http://senko.net/en/django-nginx-gunicorn/中的所有说明进行操作,但是当我执行此gunicorn_django -b 0.0.0.0:8000步骤时,该站点突然停止提供静态文件。该站点使用开发服务器运行良好python manage.py runserver 0.0.0.0:8000

我没有更改任何东西的库存设置。任何想法为什么这不起作用?

编辑:

在遵循本教程的其余部分和Andrew Gorcester的建议之后,我添加了一个

location /static {
     root /path/to/static/files;
}

到我的 nginxsites-available文件,一切似乎都在工作!

4

1 回答 1

5

Gunicorn 不是一个通用的 Web 服务器,它所做的只是为一个应用程序提供服务(在这种情况下是 django)。并且 django 不提供静态文件,除非在开发中,为了方便开发人员,因为它不是提供静态文件的有效或必然安全的工具。

如果您一直按照说明进行操作,您将被引导设置在端口 80 上运行的 nginx,这将 1)将您的应用程序从端口 8000 代理到端口 80 和 2)在同一端口上提供静态文件,选择要执行的操作每个基于 URL 的请求。

静态文件不能在端口 8000 上运行并不引起警报——在这种配置下,一旦正确配置了 nginx,它们应该只在端口 80 上工作。django 还有其他可能的配置以及其他用于提供静态文件的策略,尽管它们中的大多数都遵循推荐的约定,即提供与应用程序完全分开的静态文件,就像在这种情况下一样。

于 2012-12-19T07:24:58.187 回答