Springboot プロジェクトをサーバーにデプロイする方法としては、war パッケージにパッケージ化して Tomcat にデプロイするか、jar パッケージにパッケージ化して組み込みの簡単に実行できるパッケージを直接使用する方法が一般的です。現在では、war パッケージにパッケージ化して Tomcat にデプロイする人が多くなっています。この方法も問題ありませんが、その後のメンテナンスが面倒になります。公式の説明によると、jar のデプロイが最善の方法ですが、これにより別の問題が発生します。複数の spring-boot プロジェクトが同時にデプロイされ、ポートが異なる場合、ドメイン名でそれらにアクセスするにはどうすればよいでしょうか。次に、Nginx が必要です。Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IMAP/POP3/SMTP サーバーでもあります。これはSpringbootのデプロイに非常に適しています。Nginxのインストールはここではチュートリアルではありません。nginx.confの主な設定は次のとおりです。 サンプル1; サーバー{ 聞く 80; サーバー名 127.0.0.1; access_log ログ/book.log; error_log ログ/book.error; # /wx-service リクエストを http://127.0.0.1:8011/wx-service に転送して処理場所 /wx-service { proxy_set_header ホスト $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; プロキシパス http://127.0.0.1:8011/wx-service; } # /bootdo リクエストを http://127.0.0.1:8012/bootdo に転送して処理場所 /bootdo { proxy_set_header ホスト $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; プロキシパス http://127.0.0.1:8012/bootdo; } # /xcloud-service リクエストを http://127.0.0.1:8013/xcloud-api に転送して処理場所 /xcloud-service { proxy_set_header ホスト $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; プロキシパス http://127.0.0.1:8013/xcloud-api; } # /eureka-service リクエストを http://127.0.0.1:8081/eureka-service に転送して処理場所 /eureka-service { proxy_pass http://127.0.0.1:8081/eureka-service; #ここでポートを対応するプロジェクトに変更することを忘れないでください proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } # /xcloud-api リクエストを http://127.0.0.1:8082/xcloud-api に転送して処理場所 /xcloud-api { proxy_pass http://127.0.0.1:8082/xcloud-api; #ここでポートを対応するプロジェクトに変更することを忘れないでください proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } } 例2: サーバー{ 聞く 80; server_name ローカルホスト; #文字セット koi8-r; #access_log ログ/host.access.log メイン; 位置 / { ルートhtml; インデックス index.html index.htm index.php; } # /wvv リクエストを http://127.0.0.1:1992/wvv に転送して処理場所 /wvv { proxy_set_header ホスト $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; プロキシパス http://127.0.0.1:1992/wvv; } } 複数のSpringBootプロジェクトをデプロイする場合は、異なるパスに変更する限り、次の構成を複数回追加できます。 # /wvv リクエストを http://127.0.0.1:1991/project に転送して処理します 場所 /プロジェクト{ proxy_set_header ホスト $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; プロキシパス http://127.0.0.1:1991/project; } nginx のポートを 80 に変更すると、直接アクセスできるようになります。ドメイン名は localhost にすることができます。これはローカル localtion/XXX を表します。これは nginx ポート転送を構成するためのものです。必要な数のプロジェクトを構成できます。ここで tomcat のプロジェクトを構成することもできます。上記の構成に従って、sbin ディレクトリで ./nginx -s reload を実行して nginx 構成を更新すると、有効になります。 これはテスト済みで効果的なSpring-Bootクイック再起動シェルスクリプトです。 JAVA_HOME=/usr/local/java/jdk1.8.0_162 をエクスポートします。 PATH=$JAVA_HOME/bin:$PATH をエクスポートします エクスポート CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ポート=8081 JarName=clouddo-server.jar LogsPatch=./logs_$ポート ID=`ps -ef | grep $Port | grep -v "grep" | awk '{print $2}'` $IDをエコーする エコー "--------------" $IDのID する キル -s 9 $id echo "$id を強制終了しました" 終わり エコー "--------------" rm -rf $ログパッチ mkdir $LogsPatch エクスポートLANG=zh_CN.UTF-8 -m を設定する nohup java -jar -Dlogging.path=$LogsPatch $JarName>$LogsPatch/catlina.out 2>&1 & tail -f $LogsPatch/catlina.out xx.shという名前を付けて保存します。 nginx の下にプロジェクト名を冠した別のフォルダを作成し、そこに jar パッケージを配置してから、jar パッケージを起動することをお勧めします。 Springbootプロジェクトは設定ファイルで設定する必要があることに注意してください。
Spring Boot のデフォルト設定は / なので、http://ip:port/ からインデックス ページに直接アクセスできます。ただし、nginx を介して複数のプロジェクトを構成する場合は、プロジェクトごとに context-path を個別に指定する必要があります。 個人の好みに応じてサーバーディレクトリに新しいフォルダを作成し、spring-bootによってパッケージ化されたjarと次のような再起動スクリプトを保存します。 これにより、起動スクリプトが無視された後に生成されるログ フォルダーである logs ディレクトリの管理が容易になります。1 つのプロジェクトは、プロジェクト jar と再起動シェル スクリプトを含むフォルダーに対応します。 この方法では、複数のSpringbootプロジェクトを同時にバックグラウンドで起動し、ドメイン名を介してこれらのプロジェクトにアクセスできます。ログをリアルタイムで表示したい場合は、各プロジェクトファイルのlogsディレクトリに移動して、以下を実行してください。 tail -f catlina.out で確認できます。不備がありましたらご指摘いただければ幸いです。ご容赦ください。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Workermanはmysql接続プールのサンプルコードを書きます
>>: MySQL 8.0.19 インストールチュートリアル
Jellyka Beesアンティーク手書き [ank]* ジェリーカ・カティカップケーキ LHF ジ...
最も人気のあるタグはIE8ですブラウザベンダーはバージョンアップデートのリリースに躍起になっている一...
1. 問題複数のフローティング要素は親要素の幅を拡張できず、親要素の高さが 0 になる可能性がありま...
予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...
背景Docker の人気は、コンテナの共有と移植が容易であることと密接に関係しています。ユーザーは、...
多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...
1. VMwareのダウンロードとインストールリンク: https://www.jb51.net/s...
前の章では、1 つのテーブルからデータを読み取る方法を学習しました。これは比較的簡単ですが、実際のア...
1. cmakeをインストールする1. cmakeの圧縮パッケージを解凍する [root@mysql...
Nginx を使用して Tomcat9 クラスターを構築し、Redis を使用してセッション共有を実...
ボックスモデルの計算<br />マージン + ボーダー + パディング + コンテンツC...
序文デモでは古いバージョンのブラウザのグラデーションが実装されています[IE9-]。 IE9 より前...
序文: Jenkins のマスター スレーブ分散アーキテクチャは、主に、Jenkins に単一ポイン...
<br />このページでは、テーブルをネストすることで組版を実現しています。つまり、1 ...
目次フロントエンドルーティングとは何ですか?フロントエンドルーティングを実装するにはどうすればいいで...