Развертывание веб-приложения с использованием NodeJs и Express - PullRequest
1 голос
/ 15 января 2020

Мой вопрос больше относится к вопросу о том, как люди сейчас внедряют производственные веб-приложения / лучшие методы и т. Д. c.

В настоящее время мы собираемся запустить в действие веб-приложение с NodeJS бэкэнд, использующий express, а также созданный нами внешний интерфейс.

Имеет ли смысл разделить фронтенд и бэкэнд на их отдельный сервер или визуализировать файлы HTML непосредственно из NodeJS бэкэнд на одном сервере?

Если у вас есть какие-либо другие предложения, перечислите плюсы и минусы и то, как команда разработчиков из нескольких человек может легко управлять исходным кодом, поскольку есть отдельные люди, разделенные на простой интерфейс и только бэкэнд.

Примечание. Это веб-приложение, а не сайт c или целевая страница

1 Ответ

0 голосов
/ 16 января 2020

Я недавно прошел через этот процесс принятия решения и решил развернуть stati c и динамические c части моей системы вместе .

Как решить этот вопрос?

Связаны ли ваши передние и задние части близко друг к другу? Много ли передовых изменений требуют соответствующих внутренних изменений? Если это так, это причина для развертывания обоих на одном сервере. Это было моей ситуацией.

Имеет ли смысл обслуживать ваши статические c HTML / Javascript / CSS / ресурсы изображений с помощью express 'stati c -объект-сервера функциональность? Это может: Express позволяет вам делать хорошие вещи, такие как .js минимизация, оперативный перевод .less или .sass файлов и так далее. Он также имеет хорошие возможности для обработки CORS, ограничения скорости и других функций ввода c. Если вы хотите, чтобы эти вещи, это причина для развертывания обоих на одном сервере. Это тоже было моей ситуацией.

Будете ли вы подключать обратный прокси (nginx) сервер к сети? Это достаточно сложная задача настройки, поэтому вы, вероятно, захотите выполнить ее один, а не два раза. Это причина для развертывания обоих на одном сервере. Моя ситуация.

Есть ли у вас много объектов для обслуживания? 1032 *? Это причина для развертывания объектов stati c и веб-приложения отдельно: Pure apache или nginx больше подходит для обслуживания данных stati c, чем узел. У меня было всего несколько статических c объектов.

Есть ли у ваших девопов шанс, что два отдельных развертывания сделают вещи более сложными и менее надежными? (Кто-нибудь забудет развернуть и stati c, и Dynami c?). Это причина для развертывания обоих на одном сервере. Я сделал это потому, что хочу, чтобы тестовые, промежуточные и производственные развертывания работали одинаково.

Git и другие системы контроля версий достаточно надежны, чтобы позволить командам вносить вклад в одно репо, не мешая работе друг друга. .

...