Linux システムに Spring Boot アプリケーションをインストールするための詳細なチュートリアル

Linux システムに Spring Boot アプリケーションをインストールするための詳細なチュートリアル

Unix/Linux サービス

systemd サービス

操作プロセス

1. JDKがインストールされたCentOS7仮想マシン

Linux 版 JDK をダウンロードする場合、wget などの直接リンクで直接ダウンロードすることはできません。そうしないと解凍に失敗します。元の公式サイトを開き、ライセンスに同意するをクリックしてからダウンロードをクリックしてください (この方法ではダウンロードに非常に時間がかかります)。より良い方法は、ダウンロード ページのアドレスを Thunder にコピーし、Thunder 経由でダウンロード ページを開き、ライセンスに同意した後でダウンロードをクリックすることです。

ダウンロード後、解凍して環境変数を設定します

tar -zxvf jdk1.8.0_211.jar.gz

環境変数の設定: /etc/profileファイルに以下を追加します

JAVA_HOME=/var/java/jdk1.8.0_211 をエクスポートします。
エクスポート CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
エクスポート PATH=$PATH:$JAVA_HOME/bin

環境変数を追加した後、source /etc/profile を実行して環境変数を有効にします。

2. インストールするSpring Bootアプリケーションを準備する

2.1 正常にインストールするには、pom ファイル内の関連プラグインの構成に特に注意してください。正しい例は次のとおりです。

<ビルド>
  <プラグイン>
   <プラグイン>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <構成>
     <mainClass>com.itsherman.dcm.アプリケーション</mainClass>
     <実行可能ファイル> 真</実行可能ファイル>
    </構成>
    <処刑>
     <実行>
      <目標>
       <goal>再パッケージ化</goal>
      </目標>
     </実行>
    </処刑>
   </プラグイン>
  </プラグイン>
 </ビルド>

spring-boot-maven-pluginプラグインのみを宣言し、後続の設定項目を無視すると、構築したパッケージ (jar) が移植後に正常に起動しない可能性が高くなります。メイン メニュー属性が見つからないというエラーを報告します。

上記の問題は、主にビルド​​された実行可能 jar パッケージに META_INF フォルダーがあるために発生します。このフォルダー内の MANIFEST.MF ファイルにはパッケージの主な情報が記述されており、Main-Class 行が欠落しています。解決策としては、手動で追加するか、上記の構成(特に実行構成項目が欠落していないこと)に従って、mvn install を再実行します。 jar パッケージを再生成した後、winrar ツールを使用して開き、MANIFEST.MF ファイルの情報を確認します。

一般的な完全なファイル情報は次のとおりです。

マニフェストバージョン: 1.0
アーカイババージョン: Plexus Archiver
製造者: シャーマン
開始クラス: com.itsherman.dcm.Application
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot バージョン: 2.1.5.RELEASE
作成者: Apache Maven 3.6.0
ビルド Jdk: 1.8.0_172
メインクラス: org.springframework.boot.loader.JarLauncher

その後、 java -jar myapp.jarコマンドを使用してローカルで実行してみることができます。

3. xftpなどのファイル移行ツールを使用して、jarパッケージを手順[1]の仮想マシンに移行します。

4. 仮想マシンの/etc/systemd/systemの下にサービス設定ファイルを記述します。参考例は以下の通りです。

[ユニット]
説明=myapp
後=syslog.target
[サービス]
ユーザー=hadoop
実行開始=/var/java/jdk1.8.0_211/bin/java -jar /home/hadoop/myapp/dev-manager.jar
成功終了ステータス=143
[インストール]
WantedBy=マルチユーザー.ターゲット

•説明: プログラムの説明
•ユーザー: システムユーザー
•ExecStart: プログラムを起動するコマンド

設定ファイルを書き込んだら保存して終了します

サービスを開始する

サービス構成情報を更新する

systemctl daemon-reload

サービスを開始する

systemctl start myapp.service

起動時にサービスを開始する

systemctl enable myapp.service

サービスステータス情報を表示する

systemctl status myapp.service

6. テスト

ブラウザを開いてサービスにアクセスする

要約する

上記は、Linux システムに Spring Boot アプリケーションをインストールする方法に関する詳細なチュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Springboot を Linux サーバーにパッケージ化してデプロイする方法
  • Linux のバックグラウンドで Springboot を実行する方法
  • Linux で Springboot プロジェクトを展開する方法と手順
  • Linuxを使用してSpring Bootプログラムをデプロイする
  • Spring Boot Linuxの起動方法の詳しい説明

<<:  フロントエンドタスク構築のための強力なツールであるGulp.jsの使い方を詳しく説明します

>>:  MySQL レプリケーションの利点と原則を詳しく説明します

推薦する

CSS3 で King of Glory マッチング人員読み込みページを実装する方法

King of Glory をプレイしたことがある人なら、このページの効果をよくご存知でしょう。なぜ...

純粋な CSS で実装された大きなドロップダウン メニューのサンプル コード

これは純粋に CSS で実装された大きなドロップダウン メニューです。この大きなメニューは、js コ...

JS の toFixed() メソッドの丸め精度の問題の詳細な説明

目次落とし穴充填方法何の穴ですか?要約する落とし穴最近、仕事で商品の割引価格を計算すると、いつも1セ...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

Vmwareでディスクを追加する方法:ディスクを拡張する

この記事では、ディスクを追加または拡張して、Vmare で有効にする方法について説明します。シナリオ...

EXPLAIN を使って MySQL の SQL 実行プランを分析する方法

序文MySQL では、EXPLAIN コマンドを使用して、テーブルの接続方法や SELECT ステー...

docker ベースの mariadb のインストール構成プロセスの分析

1. インストール dockerhub を通じてインストールする mariadb のバージョンを検索...

TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

必要:近い将来、大容量ファイルのアップロード機能を実装します。フロントエンドフレームワークのアップロ...

Windows 10 システムに mysql-8.0.13 (zip インストール) をインストールする詳細なチュートリアル

インストール環境の説明•システムバージョン: windows10 •MySQL バージョン: mys...

Navicat の MySQL へのリモート接続が遅い理由の詳細な説明

最終的な解決策は最後の写真にありますリモート データベース ( Linux システム) に接続したと...

Linux 環境変数とプロセス アドレス空間の概要

目次Linux 環境変数とプロセスアドレス空間コードを通じて環境変数を取得するプロセスアドレス空間な...

AngularでTweenMaxアニメーションライブラリを使用する際の問題と解決策

最近何もすることがないのでCSSをいじっていますより良いアニメーションライブラリTweenMaxを見...

MySQL 8.0.22 winx64 のインストールと設定のグラフィックチュートリアル

mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...

IE6 の iframe の水平スクロール バーの解決策

状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...

Dockerイメージの階層化の原理の詳細な説明

ベースイメージベースイメージには 2 つの意味があります。他のイメージに依存せず、ゼロから構築します...