2017-05-16 7 views
3

私のやり方が間違っているかどうか訂正してください。オンライン・サーバでSpringフレームワークバックエンドとAngular 2フロントエンドアプリケーションをデプロイする方法は?

私のWebアプリケーションでは、ユーザーインターフェイスを開発するためにjspページを使用していません。代わりに、私はhtml、css、Angular 2を使用しています。フロントエンドのプロジェクト構造はバックエンドから分離されています。

SpringMVCバックエンドが提供するAngular CLIを使用して簡単なプロジェクトを開発することはできますが、フロントエンドはポート4200を使用しており、バックエンドはポート8080上で動作しています。私は、Angular 2からSpringMVCへのリクエストを受け取り、処理しています。ローカルモードではこれらは完全に動作しているので、ライブサーバー上でそれらをホストにしたいと考えています。

SpringMVCバックエンドとAngular 2フロントエンドを個別に公開するが、同じドメインで実行するにはどうすればよいですか?私もSpringBootを使用していません。フロントエンドとバックエンドも別々のフォルダにあります。私は、同じプロジェクト構造で両方を組み合わせ、warファイルを生成してデプロイする必要はありません。

SpringMVCバックエンドとAngular-2バックエンドを開発してオンラインサーバーに展開するベストプラクティスは何ですか?

+0

Angular 2 Appをパッケージ化するために使ったことは?どのサーバーを展開に使用していますか? – Vaibs

+0

私は、Angular 2 Appのパッケージにwebpackを使用しました。別のプロジェクトであるバックエンドとフロントエンドの両方を同じドメイン名で同じサーバーに配置することは可能ですか?私はWebアプリケーションの配備に関する事前の知識は持っていません。 – bthapa

答えて

1

私が最もよく見つけたのは、nginxを静的ファイルサーバーとして実行し、春のアプリケーションのフォワードプロキシとして実行しています。

は通常、私は http://localhost:3000/api/への呼び出しは、** http://localhost:8080/api/ に渡されることを意味しhttp://localhost:8080

に行く//APIを作るために、角-cliのプロキシを使用しています。同じドメインにいるので/ api/

+0

これはすでに私にとってうまく動作しています。しかし、フロントエンドとバックエンドをオンラインサーバーに導入する最善の手順を教えてください。別のブログを読んだ後の私の知識からは、フロントエンドとバックエンドの両方を組み合わせた単一のwarファイルを作成しないことを提案しています。 SpringMVCバックエンドにリクエストしているフロントエンドのホスト方法 – bthapa

+0

スプリングブートを使用している場合は、実行可能なjarファイルを作成し、systemdを使用して起動します。https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html今すぐnginxをインストールし、proxy_passを使って/ api /のすべてのリクエストをspringに送るnginx設定を作成してください。あなたの角度ファイルをftpまたはrsyncしてサーバーに入れ、nginxを使ってそれらを提供してください。 –

関連する問題