Назад | Перейти на главную страницу

Конфигурация Django VPS

Я хочу запустить несколько сайтов Django на моем VPS, где nginx будет для него интерфейсом. У меня были проблемы с mod_python и Apache, сайт просто начинает выдавать ошибки всякий раз, когда начинается рост трафика, потому что он просто использует так много оперативной памяти для каждого запроса. Итак, я провел небольшое исследование и выяснил, что mod_pythonдействительно не лучший вариант для маленького VPS.

Моя установка имеет nginx, обслуживающий статические файлы (javascript, css, изображения) и использующий memcached для резкого сокращения запросов к серверной части Apache путем кэширования страниц, которые Apache "создает", но это по-прежнему Бег mod_python, и вчера у меня все еще были люди, говорящие, что они получают 500 ошибок без всякой причины.

Я хочу использовать FastCGI для запуска Django сейчас, я читал, что он может обрабатывать больший трафик с меньшим объемом оперативной памяти, но его конфигурация была для меня немного странной; Я вообще не эксперт по некоторым из используемых терминов. Я смотрю в основном на следующие варианты:

maxspare=NUMBER      max number of spare processes / threads  
minspare=NUMBER      min number of spare processes / threads  
maxchildren=NUMBER   hard limit number of processes / threads  
method=IMPL          prefork or threaded (default prefork)

Любая помощь в определении того, что я должен установить, будет сильно оценен. Я также хотел бы знать, связаны ли эти процессы с рабочими процессами nginx. На сервере размещены 4 веб-сайта, которые обычно обрабатывают пару тысяч посещений в день, но все они, как правило, попадают примерно в одно и то же время с большей частью трафика, и именно тогда возникают проблемы.

Кроме того, я где-то читал об использовании Торнадо в качестве сервера WSGI для Django ... может ли это быть лучшим решением? Спасибо!

Я знаю, что это старый вопрос, но на тот случай, если кто-то еще столкнется с этим - в наши дни рекомендуемый способ установки Django на apache - использовать mod_wsgi:

Развертывание Django с Apache и mod_wsgi - рекомендуемый способ запустить Django в производство.

mod_wsgi - это модуль Apache, который можно использовать для размещения любого приложения Python, которое поддерживает интерфейс Python WSGI, включая Django. Django будет работать с любой версией Apache, которая поддерживает mod_wsgi.

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/