Как развернуть проект Spring boot и angular отдельно на apache tomcat

Я создал загрузочное приложение Spring и проект Angular (Angular 1) отдельно. В моем локальном я использую npm для сервера клиентского приложения, и оно вызывает мои серверные службы приложений. Я использую Embedded tomcat в весеннем загрузочном приложении.

Теперь я хочу разместить свое приложение на сервере. Как я могу это сделать? Могу ли я иметь встроенный tomcat и построить его как банку, или мне нужно установить автономный tomcat на сервер и развернуть мое приложение как войну?

Как настроить мой клиентский код, например, в godaddy я дал ip xx.xx.xx.xx для www.xyz.com. IP-адрес — мой рабочий облачный сервер. Как перенаправить на угловое приложение, и это приложение вызывает открытый сервер apis.

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


person Nikesh Kedlaya    schedule 01.04.2018    source источник
comment
Вы можете развернуть и клиент, и сервер на одном и том же веб-сервере, таком как Tomcat. Чтобы развернуть клиент, вы можете сгенерировать статические файлы из Angular и скопировать в папку веб-приложения tomcat. В конце концов, вы хотели бы автоматизировать эту задачу.   -  person royalghost    schedule 01.04.2018
comment
@PrabinPaudel, как настроить виртуальные хосты? У меня есть 2 приложения в папке webapp в tomcat, одно из которых является внутренним проектом, а другое - внешним проектом. Если я нажму www.xyz.com из браузера, tomcat должен обслуживать угловой проект внешнего интерфейса. Можете ли вы помочь в этой конфигурации?   -  person Nikesh Kedlaya    schedule 01.04.2018


Ответы (1)


В настоящее время лучшей практикой было бы встроить контейнер сервлетов (Tomcat, Jetty, другой) в артефакт и создать объемный JAR. Основным преимуществом является упрощенный процесс развертывания: достаточно затолкнуть дальний JAR в среду и выполнить его. В отличие от обычного контейнера сервлетов с моделью развертывания WAR, встроенный подход не требует дополнительных уровней конфигурации, например. пулы потоков или источники данных, совместно используемые различными WAR.

Одним из примеров создания удаленного JAR-файла со встроенным контейнером сервлетов является spring-boot-starter-web зависимость с spring-boot-maven-plugin:repackage цель. В этой настройке для создания толстого JAR достаточно запустить mvn clean package repackage.

Если вы разрабатываете локально, ваш код веб-клиента, скорее всего, столкнется с проблемами из-за политики того же источника. Скорее всего, вам понадобится фильтр CORS, однако он предоставляется Tomcat. .

person Karol Dowbecki    schedule 01.04.2018