Domanda

Come faccio a creare uno script di init Linux per gestire il mio processo AEM java?

Risposta

Un esempio di script di init Linux (testato in Redhat Linux) è fornito di seguito.

Per usare lo script di init:

1. Copia lo script in un nuovo file /etc/init.d/aem6 sul server.

2. Modifica il file e apporta le seguenti modifiche:

  • Imposta la variabile AEM_ROOT sul percorso della directory che contiene il file jar AEM.
  • Imposta la variabile AEM_USER sul nome dell'utente del sistema che avvierà e fermerà AEM.
3. Esegui il comando:
chmod 755 /etc/init.d/aem6
 
4. Esegui questo comando per aggiungere la configurazione per rifare l'avvio e lo spegnimento:
chkconfig --add aem6

Nota:

Prima di installare AEM come servizio Linux:

1. AEM dovrebbe essere già stato installato o scompattato dal file jar di installazione e il file license.properties dovrebbe essere già a posto.  Per maggiori dettagli consulta la documentazione ufficiale.

2. Verifica che gli script start e stop installati con AEM funzionino come previsto. Gli script si trovano sotto /crx-quickstart/bin.

  • Assegne sufficiente spazio heap alla JVM impostando il parametro -Xmx nella variabile CQ_JVM_OPTS .
  • Assicurati che il binario java corretto sia accessibile tramite il percorso della shell dell'utente del processo AEM (variabile AEM_USER).

Esempio di script di 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

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online