Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. If  the server does not already have a the directory , /opt/java then create one (sudo mkdir /opt/java). change to this directory - cd /opt/java
  2. Download the version of java appropriate for this version of linux (e.g. x86_64).  The version of linux can be determined by running uname -a from the command line.
    Oracle requires that you have accepted the license before you download the tar.gz file.  This can be problematic for wget.  Following is the command to run the download.  Go to the Oracle Java download site, click on the accept license button, select the JDK version for this machine and copy the link.  Replace the link in the following command with the one you have copied:

    wget --no-cookies \
    --no-check-certificate \
    --header "Cookie: oraclelicense=accept-securebackup-cookie" \
    "http://download.oracle.com/otn-pub/java/jdk/7u55-b13/jdk-7u55-linux-x64.tar.gz"
     

  3. Once the file has completed downloading untar the java distribution and delete the tar file ( sudo tar cxf jdk-7u55-linux-x64.tar.gz ).
  4. If the directory, /opt/java, did not exist create a "current" symlink to the new java directory (e.g. sudo ln -s jdk-7u55-linux-x64 current). If the directory, /opt/java, did exist and the link, current, was already there then you will need to sudo unlink current before linking it again.  NOTE: The reason for symlinking the directory is so any references to the current java installation (e.g. $JAVA_HOME, /etc/profile.d/java.sh...) do not have to be updated.  This simplifies maintenance.

...

CATALINA_OPTS="-Dcom.sun.management.jmxremote \

  -Djava.rmi.server.hostname=192.168.1.xxx \

  -Xms512m -Xmx1024m \

  -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m \

  -XX:MaxPermSize=512m -XX:+DisableExplicitGC \

  -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC \

  -Dcom.sun.management.jmxremote.ssl=false \

  -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password \

  -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access"

...


...

export CATALINA_OPTS

export LD_LIBRARY_PATH=$CATALINA_HOME/endorsed/current/lib:$LD_LIBRARY_PATH

export PATH="$PATH:$CATALINA_HOME/endorsed/current/bin"

JMX
JMX is a service we use to monitor the health of Tomcat while it is running as well as runtime configuration updates. Changes need to be made to $CATALINA_HOME/conf/server.xml and $CATALINA_HOME/bin/setenv.sh.  Please see tomcat server - reasonable defaults for setenv.sh changes.

    • The following directive needs to be added to server.xml - place it with the other listeners.
       <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
       

...

    •   rmiRegistryPortPlatform="9090" rmiServerPortPlatform="9091" />
    • This will start the JMX server on port 9090 and the listenback on 9091 (change if needed).
    • An additional library, catalina-jmx-remote.jar, needs to be downloaded from the Apache Tomcat Download Extras site (e.g. http://tomcat.apache.org/download-70.cgi) and placed in $CATALINA_HOME/lib
    • Once these steps are completed and thos



4) Make sure all directories and files in $CATALINA_HOME are owned by tomcat:tomcat

...