Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to deploy Spring framework backend and Angular 2 frontend application in any online server?

Please correct if the way I am doing is wrong.

In my web application I am not using jsp pages for developing user interface. Instead I am using html, css and Angular 2 and front-end project structure is separated from back-end.

Although I am able to develop a simple project using Angular CLI which is served by SpringMVC back-end. Front-end is using port 4200 and backend is running on port 8080. I have managed to take and serve request from Angular 2 to SpringMVC. In local mode these are working perfectly, now I want to make them host on a live server.

How to publish SpringMVC back-end and Angular 2 front-end separately but running on same domain? I am not using SpringBoot also front-end and back-end are in separate folders. I do not want to combine both in same project structure and generate a war file and deploy.

What is the best practice for developing SpringMVC back-end and Angular-2 back-end and deploying them in online server?

like image 811
dev Avatar asked May 16 '17 15:05

dev


People also ask

Can we use Angular and Spring Boot together?

Spring Boot and Angular form a powerful tandem that works great for developing web applications with a minimal footprint. In this tutorial, we'll use Spring Boot for implementing a RESTful backend, and Angular for creating a JavaScript-based frontend.


1 Answers

What I've found works best is running nginx as a static file server and a forward proxy for the spring app.

usually I use the angular-cli proxy to make /api/ go to http://localhost:8080

that means that calls to http://localhost:3000/api/** get passed to http://localhost:8080/api/. And since you are on the same domain we can simply call /api/

like image 90
Leon Radley Avatar answered Nov 02 '22 15:11

Leon Radley