nginx - JAVA プロジェクト WAR パッケージのデプロイメントに適用できるシナリオは何ですか?
typecho
typecho 2017-06-17 09:17:11
0
2
2143

プロジェクトをデプロイするときは、常にフォルダーを使用してプロジェクトをデプロイします。最近、WAR パッケージ プロジェクトのデプロイメントを使用しようとしましたが、次の問題が発生しました:

  • アップロード ファイルの場所のローカル パスを指定します。ただし、これはプロジェクトから独立しているため、アクセスするにはプロジェクトを個別に構成する必要があります。

  • 社内でプロジェクト数が多い場合(1サーバーあたり200程度、サーバー20台程度)、各プロジェクトがこのような構成となり、運用保守作業が非常に大変になります。

  • メンテナンス中に調整された CSS または JS ファイルは 1 つだけでしたが、再パッケージしてリリースする必要がありました
  • 以前のフォルダー方式に比べて本当に面倒です経験者の方に聞きたいです。

WAR パッケージを使用して、どのようなアプリケーション シナリオに遭遇しましたか?
  1. 発生した問題を解決するにはどうすればよいですか?
typecho
typecho

Following the voice in heart.

全員に返信(2)
刘奇

以下は私の実際の運用とメンテナンスの経験です:

  1. war パッケージを一度だけ作成してさまざまな環境に適用できるように、構成はプロジェクトから独立している必要があります。

  2. SaltStack、Ansible、Jenkins などの自動運用およびメンテナンス ツールを使用して、バッチ操作を実行します。
  3. 静的リソースが頻繁に変更されることが予想される場合は、静的リソースを Java プロジェクトから分離して別のサイトにデプロイするか、転用に nginx を使用することをお勧めします。

  4. war ファイルを解凍するプログラムをデプロイし (Tomcat 自身で解凍させるのではなく)、Tomcat を停止し、ln -s を使用して ROOT ディレクトリを新しいディレクトリに誘導してから、Tomcat を起動することをお勧めします。よりスムーズに実行されます
  5. 現時点では古いディレクトリを削除しないでください。デプロイメントが間違っている場合は、ln -s を使用して ROOT ディレクトリを古いディレクトリに切り替え、迅速なロールバックを実現します。
いいねを押す +0
大家讲道理

実務経験:
私が担当したプロジェクトはすべてweblogic上のディレクトリ形式で公開されています:

リーリー

私は、開始、停止、監視、更新などの運用および保守タスクを自動化するために、この標準構造に従っていくつかのシェル スクリプトを作成しました。実際には数日しかかからず、コードもそれほど多くありませんでしたが、今では手動で行うことはありませんもう一度、運用と保守の問題について説明します。

基本的なプロセスは次のとおりです: コード開発の送信 -> SVN 増分更新パッケージのエクスポート -> サーバーへのアップロード -> サーバー上で実行

HTML ページを変更した場合、間違ったファイルを入力した場合は、再パッケージ化する必要があります。 静的なものは個別に公開できるので、JAVA を変更しただけの場合、再パッケージ化する必要があり、それに値するのでしょうか?

war パッケージ内のアプリケーションを実際に公開して提供するコンテナはありません。war パッケージは圧縮形式になっており、リクエストを処理するたびにコンテナにリソースを読み取らせる必要があります。 (少なくとも JSP については) パフォーマンスの問題が発生します。

これは、いくつかの小規模プロジェクトに対する私の個人的な解決策です。大規模なプロジェクトの場合は、継続的インテグレーションなどのフルプロセスのツールチェーンが必要になる場合があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート