質問

AEM java プロセスを管理する Linux init スクリプトを作成するにはどうすればよいですか?

回答

サンプル Linux init スクリプト(Redhat Linux でテスト)を以下に示します。

init スクリプトを使用するには:

1. サーバー上の新しいファイル /etc/init.d/aem6 にスクリプトをコピーします。

2. ファイルを編集し、次を変更します。

  • AEM jar ファイルが含まれるディレクトリパスへの AEM_ROOT 変数を設定します。
  • AEM を停止および起動するシステムユーザーの名前への AEM_USER 変数を設定します。
3. コマンドを実行します。
chmod 755 /etc/init.d/aem6
 
4. このコマンドを実行して、redhat の起動とシャットダウンへの設定を追加します。
chkconfig --add aem6

注意:

Linux サービスとして AEM をインストールする前に:

1. AEM は既にインストールされているか、またはインストール jar ファイルから解凍されていて、license.properties ファイルが既に所定の場所にある必要があります。詳しくは、公式のドキュメントを参照してください。

2. AEM と共にインストールされている起動および停止スクリプトが予測どおりに機能していることを確認します。スクリプトは、/crx-quickstart/bin にあります。

  • CQ_JVM_OPTS 変数の - Xmx パラメーターを設定して、JVM に十分なヒープスペースを割り当てます。
  • AEM プロセスユーザーのシェル(AEM_USER 変数)のパスを介して正しい java バイナリにアクセスできることを確認します。

サンプル Init スクリプト

#!/bin/bash
#
# /etc/rc.d/init.d/aem6
#
#
# # of the file to the end of the tags section must begin with a #
# character. After the tags section, there should be a blank line.
# This keeps normal comments in the rest of the file from being
# mistaken for tags, should they happen to fit the pattern.>
#
# chkconfig: 35 85 15
# description: This service manages the Adobe Experience Manager java process.
# processname: aem6
# pidfile: ${AEM_ROOT}/crx-quickstart/conf/cq.pid

# Source function library.
. /etc/rc.d/init.d/functions

SCRIPT_NAME=`basename $0`
AEM_ROOT=/opt/aem6
AEM_USER=aem

########
BIN=${AEM_ROOT}/crx-quickstart/bin
START=${BIN}/start
STOP=${BIN}/stop
STATUS="${BIN}/status"

case "$1" in
start)
echo -n "Starting AEM services: "
su - ${AEM_USER} ${START}
touch /var/lock/subsys/$SCRIPT_NAME
;;
stop)
echo -n "Shutting down AEM services: "
su - ${AEM_USER} ${STOP}
rm -f /var/lock/subsys/$SCRIPT_NAME
;;
status)
su - ${AEM_USER} ${STATUS}
;;
restart)
su - ${AEM_USER} ${STOP}
su - ${AEM_USER} ${START}
;;
reload)
;;
*)
echo "Usage: $SCRIPT_NAME {start|stop|status|reload}"
exit 1
;;
esac

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー