Start WildFly as a System V Service on Linux

From NovaOrdis Knowledge Base
Revision as of 04:31, 16 February 2016 by Ovidiu (talk | contribs)
Jump to navigation Jump to search

Internal

Overview

This procedure applies when the installation was done by unzipping or via the installer. This does not apply to an RPM installation.

The procedure is similar for standalone mode and domain mode. The only difference is the name of the original startup scripts (jboss-as-standalone.sh, jboss-as-domain.sh below).

Note that this procedure differs slightly from the manual procedure (https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Installation_Guide/sect-Service_Configuration.html#Install_JBoss_Enterprise_Application_Platform_6_Red_Hat_Enterprise_Linux_Service). This procedure is simpler, and does not require supplementary configuration files in /etc.

Locate the Pre-Packaged Startup Scripts

They are available in Template:$JBOSS HOME/bin/init.d. They are Template:Jboss-as-domain.sh and Template:Jboss-as-standalone.sh.

!!!Install the Scripts into their Standard Locations

Perform the following operations as "root", name the scripts accordingly:

For a standalone installation, name the script Template:Jboss.

{{{ cp $JBOSS_HOME/bin/init.d/jboss-as-standalone.sh /etc/init.d/jboss }}}

For a domain installation, name the script Template:Jboss-host-controller, regardless of whether we're configuring to start the domain controller or a subordinate host controller. This is because on the domain controller host, the domain controller process and the host controller process coincide.

{{{ cp $JBOSS_HOME/bin/init.d/jboss-as-domain.sh /etc/init.d/jboss-host-controller }}}


!!!Configure the Startup Script from init.d

Add at the top of the file:

{{{ JBOSS_HOME=/home/eap/EAP-6.4.0 JBOSS_USER=eap

  1. The amount of time to wait for startup

STARTUP_WAIT=30

  1. The amount of time to wait for shutdown

SHUTDOWN_WAIT=30

  1. Location to keep the console log

JBOSS_CONSOLE_LOG=${JBOSS_HOME}/domain/log/console.log [ ! -d ${JBOSS_HOME}/domain/log ] && { mkdir -p ${JBOSS_HOME}/domain/log; chown ${JBOSS_USER} ${JBOSS_HOME}/domain/log; chmod a+rx ${JBOSS_HOME}/domain/log; }

}}}


!!Domain Controller High Availability Considerations

If you're building a host controller that is expected to fail over among multiple HA domain controllers, increase the STARTUP_WAIT (see [JBoss7 Domain Controller HA#TheFailoverProcess] for details).


!!Backup Domain Controller Considerations

If you're building a backup domain controller you will need to add this into Template:Jboss-host-controller:

{{{ JBOSS_BACKUP_DOMAIN_CONTROLLER=true }}}

and then add this to the start line:

{{{

 ...
 local backup_option
 ${JBOSS_BACKUP_DOMAIN_CONTROLLER} && backup_option="--backup"
 if [ ! -z "$JBOSS_USER" ]; then
   if [ -r /etc/rc.d/init.d/functions ]; then
     daemon  [...] --host-config=$JBOSS_HOST_CONFIG ${backup_option} [...]
   else
     su [...] --host-config=$JBOSS_HOST_CONFIG ${backup_option}" [...] 
   fi
 fi
 ...

}}}

!Optional

If you deleted Template:Domain.xml, you will also need to set:

{{{ JBOSS_DOMAIN_CONFIG=domain.cached-remote.xml }}}

but this is undocumented, so it's probably best NOT to remove Template:Domain.xml and leave JBOSS_DOMAIN_CONFIG definition in Template:Jboss-host-controller alone.

!!Permissions

Then adjust permissions:

{{{

chmod a+rx ./jboss

chmod a+rx ./jboss-host-controller

}}}

!!!Add the Startup Script As a Service

jboss-host-controller chkconfig --list jboss

!!!The Line that Starts The Process

{{{ ... su - $JBOSS_USER -c "LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=$JBOSS_PIDFILE $JBOSS_SCRIPT --domain-config=$JBOSS_DOMAIN_CONFIG --host-config=$JBOSS_HOST_CONFIG" 2>&1 > $JBOSS_CONSOLE_LOG & ... }}}

__Referenced by:__\\ [{INSERT com.ecyrd.jspwiki.plugin.ReferringPagesPlugin WHERE max=20, maxwidth=50}]


https://home.feodorov.com:9443/wiki/Wiki.jsp?page=JBoss7ConfigureAsAServiceOnLinux