从带有Gunicorn的virtualenv运行Django项目> = 19

时间:2014-06-26 05:43:46

标签: django virtualenv gunicorn

我在docs.gunicorn.org看到有关gunicorn v.19的消息:

  

弃用

     

run_gunicorn,gunicorn_django和gunicorn_paster现在完全可以了   已弃用,将在下一版本中删除。使用gunicorn   而不是命令。

我从虚拟环境运行应用程序,使用virtualenv在主管中使用此命令创建:

[program:my_app]
command=/var/www/.virtualenvs/my_app/bin/gunicorn_django -c /var/www/my_app/conf/gunicorn.conf.py

user=www-data
group=www-data

daemon=false
debug=false

autostart=true
autorestart=true

redirect_stderr=true
stdout_logfile=/var/www/my_app/log/supervisor.log

如何更改设置以使用新版本gunicorn运行我的项目?

1 个答案:

答案 0 :(得分:1)

命令行应更改为以下

command=/var/www/.virtualenvs/my_app/bin/gunicorn my_app.wsgi:application -c /var/www/my_app/conf/gunicorn.conf.py

这假设你有文件my_app / wsgi.py。从Django 1.4开始,startproject为您生成了一个wsgi.py文件作为项目的一部分。我假设你有这个,但如果没有,你可以使用以下代码片段来创建该文件。

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_app.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

请参阅https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/

您可能需要确保my_app目录在PYTHONPATH中,如果它还没有,或者您将收到错误。

要使用新的django项目在命令行上独立测试,假设您已在当前环境中安装了django和gunicorn,则以下情况应该有效。

django-admin.py startproject myproject
cd myproject
export PYTHONPATH=$PYTHONPATH:.
gunicorn myproject.wsgi:application -b localhost:8008