Linux 上で Java アプリケーションをサービスとして実行する
Linux 上で Java サーバー アプリケーションを継続的に運用し、簡単に管理できるようにするには、多くの場合、次のことが望ましいです。それらをサービスとして実行します。このガイドでは、これらの要件に対処するソリューションについて説明します。
サービスの必要性
仮想ホスト Linux 環境では、Java アプリケーションは手動で、または rc.local ですが、このアプローチにはシームレスなメンテナンスに必要な柔軟性と制御が欠けています。サーバーの再起動とは関係なくアプリケーションを管理するには、アプリケーションをサービスとして実行することを検討してください。
サービス スクリプトの作成
サービス スクリプトを作成するには、次の手順に従います。#!/bin/sh SERVICE_NAME=your_service_name PATH_TO_JAR=full_path_to_jar_file PID_PATH_NAME=/tmp/your_service_name-pid case in start) echo "Starting $SERVICE_NAME ..." # Check if service is already running if [ ! -f $PID_PATH_NAME ]; then # Execute Java command in the background (daemonize) nohup java -jar $PATH_TO_JAR > /tmp/service_name.log 2>&1 & # Store PID to track process echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." else echo "$SERVICE_NAME is already running ..." fi ;; stop) # Check if PID file exists to ensure service is running if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME) echo "$SERVICE_NAME stopping ..." # Kill process kill $PID echo "$SERVICE_NAME stopped ..." # Remove PID file rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi ;; restart) # Stop service if [ -f $PID_PATH_NAME ]; then PID=$(cat $PID_PATH_NAME) echo "$SERVICE_NAME stopping ..." kill $PID echo "$SERVICE_NAME stopped ..." rm $PID_PATH_NAME else echo "$SERVICE_NAME is not running ..." fi # Start service echo "$SERVICE_NAME starting ..." nohup java -jar $PATH_TO_JAR > /tmp/service_name.log 2>&1 & echo $! > $PID_PATH_NAME echo "$SERVICE_NAME started ..." ;; esac
インストール
使用法
サービスを管理するには、次のコマンドを使用します:結論
このガイドは、Linux 上で Java アプリケーションをサービスとして実行するための包括的なソリューションを提供し、効率的な管理とメンテナンスに必要な制御と柔軟性を提供します。以上がLinux 上で Java アプリケーションをサービスとして実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。