Django, node.js на одном уровне с Nginx? [закрыто]

Я совершенно запутался в их использовании и в том, что они собой представляют. Я думал, что все они являются веб-серверами, но в сообществах люди относятся к ним так, как будто они используются по-разному.

Может ли кто-нибудь указать на разницу в отношении их использования?

«Веб-сервер» — очень широкий термин. В частности, NGinx — это классический веб-сервер и прокси-сервер, в то время как Django — это фреймворк для написания веб-приложений, а Node.js — нечто среднее между фреймворком приложений и обычной средой программирования общего назначения.

Ответы (1)

Node.js и django написаны на интерпретируемых языках (javascript и python). Для быстрого веб-сервера используются скомпилированные языки (nginx написан на C).

Вы можете использовать node.js или django в зависимости от того, какой язык вы знаете лучше. С ними вы генерируете динамический контент, используя базу данных и сложные шаблоны и логику.

Вы используете nginx для обслуживания статического контента, например изображений. Обычно они не генерируются сервером, а служат файлами. Это очень быстро.

Вот пример использования nginx с node.js , а вот как использовать nginx с django (для этого вам также понадобится приложение WSGI, см. туториал).

Мне также интересно, если node.js и django обслуживают динамические данные, и когда nginx обслуживает статические данные, что хорошего в использовании nginx?
NGinx также может обслуживать динамические данные, будь то классические страницы PHP или CGI, или данные, созданные с помощью модуля Lua. Он может делать много вещей, которые Node.js и Django не могут (или не могут сделать легко), например, быстрое сжатие «на лету», HTTP/2, сложный мультихостинг, проксирование других веб-приложений и обеспечение сложного доступа. контролирует.
@AustinHemmelgarn О, так что, их действительно часто используют и смешивают во многих приложениях, представленных на рынке?
@ Poream3387 В общем, да. Nginx является одним из самых популярных вариантов обратного прокси-сервера и довольно популярен в качестве простого внешнего сервера для других веб-приложений, поскольку его очень просто настроить. Apache, вероятно, все еще имеет более высокую долю рынка, но я готов поспорить, что это больше из-за импульса, чем из-за реальных технических причин.
@ Poream3387 да, это самое распространенное. Я использовал только django с nginx (не node.js), но в их документации указано: «Настройте свой веб-сервер для обслуживания файлов в STATIC_ROOT по URL-адресу STATIC_URL». docs.djangoproject.com/en/2.1/howto /static-files/deployment Итак, да, рекомендуется использовать и nginx, и django, если вы используете django.