Nginx,Gunicorn,Virtualenv和Django - 403 Forbidden

时间:2011-10-04 10:30:38

标签: django nginx gunicorn

我不是任何类型的Linux专家。只需为我的Django站点设置自己的服务器。

据我所知,因为用户没有正确的权限?如果是这样,我们在谈论什么用户工具?

是否“用户”无权使用该应用程序读取该目录?

我跟着这个啧啧:Tutorial

2 个答案:

答案 0 :(得分:2)

我们正在谈论Gunicorn(您的应用程序服务器)正在运行的用户。要检查命令行上的 htop 并搜索gunicorn进程。理想情况下,它应该在它自己的用户(gunicorn:gunicorn)下运行,你应该确保你的应用程序的项目文件夹得到适当的保护 - 大多数文件只需要只读(到gunicorn)但你也需要gunicorn才能写入媒体文件夹(如果是用户上传等)。你只需要确保文件不能写给除gunicorn之外的任何人(即755)

fyi:

Nginx是Web服务器/代理,它被配置为将请求您的应用程序的任何连接(例如,通过http://myapp.com)传递到gunicorn的应用程序服务器上。 Gunicorn反过来配置为运行Django,它坐在一个很好的封装virtualenv。

Supervisor(文章中提到)是一个用于启动,停止和管理所有上述过程的python应用程序,非常方便。

答案 1 :(得分:1)

我发现这篇文章更简单直接。 http://honza.ca/2011/05/deploying-django-with-nginx-and-gunicorn。严格遵守这一点,你应该没有问题