Java アプリケーションを Linux システム上でサービスとして実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-01 10:59:29
オリジナル
325 人が閲覧しました

How can I run my Java application as a service on a Linux system?

Linux システム サービスのナビゲート: サービスとしての Java アプリケーションの実行

Linux システム管理の領域では、アプリケーションをサービスとして管理することは、アプリケーションの信頼性と制御された実行を確保するために重要です。この記事では、Java サーバー アプリケーションを Linux オペレーティング システム上でサービスとして実行するように構成するプロセスを詳しく説明し、ユーザーからの質問に対する包括的な解決策を提供します。

主な目的は、次のようなサービスを作成することです。 Java アプリケーションのシームレスな開始、停止、再起動が可能になり、サーバーを再起動する必要がなくなります。シンプルなラッパー スクリプトを採用し、Linux システム サービスの機能を活用することで、この目的を達成します。

旅の始まり: 初期構成

セットアップ プロセスを開始するには、次のようにシェル スクリプトが作成されます。 Java アプリケーションをサービスとして実行するために必要なさまざまな操作を処理します。このスクリプトはミドルウェアとして機能し、受信したコマンドに基づいてアプリケーションの動作を調整します。

<code class="sh">#!/bin/sh
SERVICE_NAME=MyService
PATH_TO_JAR=/usr/local/MyProject/MyJar.jar
PID_PATH_NAME=/tmp/MyService-pid
case  in
    start)
        # Code block to start the service
    ;;
    stop)
        # Code block to stop the service
    ;;
    restart)
        # Code block to restart the service
    ;;
esac</code>
ログイン後にコピー

このラッパー スクリプト内では、次の関数が定義されています:

  • start : 「nohup」コマンドを使用して Java アプリケーションを開始します。これにより、シェル終了後もアプリケーションが実行し続けることが保証されます。プロセス ID (PID) はキャプチャされ、今後の参照のために指定された PID ファイルに保存されます。
  • stop: PID から取得した PID に Kill シグナルを送信して、実行中の Java アプリケーションを終了します。ファイル。その後、PID ファイルが削除されます。
  • restart: 停止アクションと開始アクションを組み合わせて、Java アプリケーションを効果的に再起動します。

完璧な実行: スクリプトを埋め込むシステム サービス

ラッパー スクリプトを配置したら、Linux システム サービス メカニズムに統合する必要があります。この目的には、「init.d」または「systemd」(Ubuntu 16 の場合) スクリプトが一般的に使用されます。この統合プロセスについては、リンクされたチュートリアルに従ってください。

ログ出力に関する追加の考慮事項

デフォルトでは、ラッパー スクリプトは、システム ログの混乱を避けるために Java アプリケーションの標準出力を抑制します。ただし、ログの取得が必要な場合は、「2>&1」リダイレクトを「>>」に置き換えることでこの動作を変更できます。 myService.out 2>&1&' in the 'nohup' command.

この包括的なアプローチにより、Java アプリケーションを Linux 上でサービスとして実行することが簡単になりました。提供されているラッパー スクリプトとシステム サービス統合テクニックにより、アプリケーションを効果的に管理するために必要な柔軟性と制御が可能になります。

以上がJava アプリケーションを Linux システム上でサービスとして実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート