ホームページ >Java >&#&チュートリアル >Linux 上で Java アプリケーションをサービスとして管理するにはどうすればよいですか?

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 04:21:281140ブラウズ

How to Manage Java Applications as Services on Linux?

Linux 上のサービスとしての Java アプリケーションの管理

サーバー管理の領域では、アプリケーションをサービスとして管理することで、信頼性の高い動作と制御の容易さが保証されます。この記事では、Linux システムにデプロイされた Java アプリケーションについて、アプリケーションをサービスに変換し、その実行を効果的に管理するために利用できるオプションについて説明します。

課題

Linux サーバー上で Java アプリケーションを頻繁に起動および停止するrc.local スクリプトの変更が含まれます。ただし、このアプローチにはアプリケーションを個別に制御する機能が欠けており、更新やトラブルシューティングには不便な場合があります。

Linux サービスの作成

これらの制限を克服するために、Linux システムはサービスの概念を提供します。 init.d や systemd などのツールを通じて管理されます。これらのサービスを使用すると、サーバーの再起動とは関係なく、アプリケーションを自由に起動、停止、再起動できます。

Java アプリケーションのサービスの作成

  1. サービス スクリプトの定義: 次の形式でシェル スクリプトを作成します:
<code class="sh">#!/bin/sh
SERVICE_NAME=WebServer
PATH_TO_JAR=/path/to/WebServer.jar

case  in
    start)
        echo "Starting $SERVICE_NAME ..."
        nohup java -jar $PATH_TO_JAR &
    ;;
    stop)
        echo "Stopping $SERVICE_NAME ..."
        kill $(cat /tmp/WebServer-pid)
        rm /tmp/WebServer-pid
    ;;
    restart)
        <pre class="brush:php;toolbar:false"><code class="sh">chmod +x /usr/local/bin/WebServer</code>
stop
<code class="sh">cp /usr/local/bin/WebServer /etc/init.d/WebServer
ln -s /etc/init.d/WebServer /etc/rc?.d/S99WebServer</code>
start ;; esac
  1. 権限の構成: 実行を許可するようにスクリプトの権限を設定します。
<code class="sh">[Unit]
Description=Web Server Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/WebServer start
ExecStop=/usr/local/bin/WebServer stop
Restart=on-failure
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target</code>
  1. サービスをインストールします: Linux ディストリビューションとサービス管理システムによっては、手順が異なる場合があります。
  • init.d (レガシー): スクリプトを /etc/init.d/ にコピーし、/etc/rc?.d/ へのシンボリック リンクを作成します:
  • systemd (モダン): /lib/systemd/system/ にユニット ファイルを作成します:

開始、停止、およびサービスの再起動

サービスを制御するには、次のコマンドを使用します。

  • 開始:service WebServer start
  • 停止:service WebServer stop
  • 再起動: サービス WebServer の再起動

追加機能

  • ロギングの提供: ExecStart 行と ExecStop 行を変更します。ユニット ファイルに、サービスのログ ファイルを指定します。
  • 依存関係の構成: 他のサービスへの依存関係を指定するには、ユニット ファイルに After および Before ディレクティブを追加します。
  • Plesk 拡張機能の作成: Plesk ユーザの場合は、ラッパー スクリプトを Plesk 拡張機能としてパッケージ化し、Plesk インターフェースからサービスを管理します。

これらの手順に従うことで、 Linux サービスとしての Java アプリケーションは、信頼性の高い運用とタイムリーなメンテナンスを保証するための柔軟性と制御を獲得します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。