Apache + mod_wsgi vs nginx + gunicorn
Я хочу развернуть сайт django (это код edx с открытым исходным кодом на github).
Я столкнулся с выбором между использованием
- Apache с mod_wsgi
- nginx с артиллеристом
Я использовал Apache с mod_wsgi, и это достаточно круто, но у меня нет опыта со вторым вариантом.
Какой из них будет лучшим вариантом с точки зрения скорости и, в некоторой степени, простоты использования?
NB: мне нужно будет запустить два разных сайта django, например, порт 80 и 81 и получить доступ к ним из двух разных поддоменов.
Ответы
Ответ 1
Nginx - это действительно легкое и простое в использовании решение, а также gunicorn позволяет нам запускать любое приложение wsgi и легко масштабировать его.
Nginx лучше обрабатывает запросы, так как он не порождает новый процесс для каждого запроса, в отличие от Apache.
Я написал ответ о том, как развернуть django с nginx для соответствующего вопроса:
Развертывание проекта Django с помощью Gunicorn и nginx
Ответ 2
У меня есть хороший опыт работы с nginx и gunicorn. Они продолжают работать отлично, когда я, наконец, установил все настройки и начал работать.
Для nginx и gunicorn они:
* nginx configuration files (/etc/nginx/sites-enabled/ and /etc/nginx/nginx.conf)
* gunicorn configuration files (/etc/init/gunicorn.conf and /etc/gunicorn.d/)
Я видел учебное пособие для apache + mod_wsgi, и его гораздо проще настроить.