Я хочу запустить несколько сайтов 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/