Состояние Django docs :
Если вы новичок в развертывании Django и / или Python, мы рекомендуем сначала попробовать mod_wsgi.В большинстве случаев это будет самый простой, быстрый и стабильный вариант развертывания.
На этом этапе я бы выбрал Apache + wsgi.
Большую часть времени настраивал Djangoна Apache сводится к этой строке:
WSGIScriptAlias / /path/to/project/bin/django.wsgi
И django.wsgi
выглядит примерно так:
#!/usr/bin/python
import djangorecipe.wsgi
application = djangorecipe.wsgi.main('project.settings', logfile='')
Я также собирался порекомендовать nginx + fastcgi, так как я предпочитаю nginxlighttpd (это лучше поддерживать, или, по крайней мере, это было мое восприятие последние несколько лет).Но это не описано в Django docs, и документация на сайте nginx не так хороша.Я бы придерживался Apache + wsgi, если у вас нет веских причин не делать этого (у вас уже запущены nginx или lighttpd или у вас есть веские основания полагать, что разница в производительности с помощью fastcgi может быть существенной для вашего сайта).В этом случае здесь - это два howtos.Суть в том, что вы запускаете сервер fastcgi с Django:
python manage.py runfcgi host=127.0.0.1 port=8080 --settings=settings
, а затем настраиваете nginx для отправки ему запросов:
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:8080;
# (...)