Frage

Wie erstelle ich ein Linux-Init-Skript, um meinen AEM-Java-Prozess zu verwalten?

Antwort

Ein Linux-Init-Skript-Beispiel (getestet in Redhat Linux) ist unten zur Verfügung gestellt.

So verwenden Sie das Init-Skript:

1. Kopieren Sie das Skript in eine neue Datei /etc/init.d/aem6 auf Ihrem Server.

2. Bearbeiten Sie die Datei und nehmen Sie die folgenden Änderungen vor:

  • Setzen Sie die Variable AEM_ROOT auf den Verzeichnispfad, der die AEM-JAR-Datei enthält.
  • Setzen Sie die Variable AEM_USER auf den Namen des Systembenutzers, der AEM startet und stoppt.
3. Führen Sie den Befehl aus:
chmod 755 /etc/init.d/aem6
 
4. Führen Sie diesen Befehl aus, um die Konfiguration zum Neustart und Herunterfahren von Redhat hinzuzufügen:
chkconfig --add aem6

Hinweis:

Vor der Installation von AEM als Linux-Dienst:

1. AEM sollte bereits in der Installations-JAR-Datei installiert oder entpackt worden sein und Ihre Datei license.properties sollte bereits vorhanden sein.  Weitere Informationen finden Sie unter offiziellen Dokumentation.

2. Stellen Sie sicher, dass die mit AEM installierten Start- und Stoppskripts wie erwartet funktionieren. Die Skripte befinden sich unter /crx-quickstart/bin.

  • Weisen Sie der JVM genügend Heap-Speicher zu, indem Sie den Parameter -Xmx in der Variable CQ_JVM_OPTS setzen.
  • Stellen Sie sicher, dass die korrekte Java-Binärdatei über den Pfad der Shell des AEM-Prozessbenutzers zugänglich ist (AEM_USER-Variable).

Beispiel-Init-Skript

#!/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

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie