如何在Apache代理下部署Django Gunicorn?

时间:2014-11-24 20:21:38

标签: python django apache deployment gunicorn

我已经浏览了文档,并且一遍又一遍地浏览相同的页面。目前我已经找到了运行现有myapp.wsgi文件的文档,但是有关如何制作适当的wsgi文件的文档有点难以找到。

如果我想制作,由Apache代理,相当于旧版本的Gunicorn等:

python manage.py run_gunicorn 0.0.0.0:8888

我应该怎么做才能提供WSGI文件:

gunicorn project.wsgi:application

谢谢,

2 个答案:

答案 0 :(得分:0)

为什么你认为你需要一个特殊的wsgi文件?您只需使用与用于任何其他部署的完全相同的那个。

答案 1 :(得分:0)

我假设你不是在询问wsgi文件的内容(这通常很标准),而是如何组装一个gunicorn命令行,允许gunicorn为你的项目找到/使用wsgi文件?

当部署到登台服务器时,我记得在设置Python路径时遇到问题,以便gunicorn可以为我的应用找到合适的wsgi文件。这是我最终使用的gunicorn命令的修剪版本:

gunicorn --pythonpath /some_path/my_app/my_app my_app.wsgi:application

用简单的英语,从右边开始向后工作:

  • application文件
  • 中有一个名为wsgi.py的函数
  • wsgi.py文件位于名为my_app的模块中(在本例中是包含__init__.py文件的目录)
  • my_app模块位于/some_path/my_app/my_app,因此需要在PYTHONPATH上。

所以wsgi.py的完整路径是:

/some_path/my_app/my_app/my_app/wsgi.py

wsgi.py在同一目录中的是__init__.py文件,这会导致Python将该目录识别为模块。