Versions Compared

Key

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

...

The System Administrator should have set up a linked directory structure like [c:]/opt/tomcat. The details of this may differ between installations so from this point on, the “root” tomcat directory will be referred to as $TOMCAT.

Download the appropriate version of Tomcat 8.0 from tomcat.apache.org and unpack (unzip/uncompress) into the $TOMCAT. (Refer to Compatibility Guide and Upgrade Planning for supported versions).

Install

Some instructions are given here for installing tomcat, and making it run as a service. You should ensure that any installation meets with your company standards.

...

Anchor
configureTomcat
configureTomcat
Configure tomcat

context.xml: cache settings

The default Tomcat cache settings are insufficient for PhixFlow:

Add <Resources ... /> to at the end of the <Context/> block in context.xml so that the file looks something like this:

Code Block
languagexml
<Context>
    <!-- lines omitted -->
	<Resources cachingAllowed="true" cacheMaxSize="1000000" />
</Context>

server.xml:

...

Connector settings

Edit the <Connector block in $TOMCAT/conf/server.xml to specify the port that PhixFlow will use (usually 8081). Find the following lines and change as needed to:

  1. Use the required port number (port="8080"). Tomcat defaults to port 8080 for HTTP, but you may need to use a different port if you are running other web servers on the same host.
  2. Enable compression (compression="force"). Compressing responses from the server is particularly important if you are going to access the PhixFlow server over a slow connection (e.g. a mobile data connection).

After editing, the <Connector/> block should look like this:

Code Block
languagexml
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" protocol="HTTP/1.1"
          <Connector 		portconnectionTimeout="8081"
		maxHttpHeaderSize="8192" …20000"
           redirectPort="8443"
           compress="force"/>

Remember to enable this port in the server’s firewall (if enabled).

...

Code Block
languagexml
<session-config>
	<session-timeout>1440<timeout>720</session-timeout>
</session-config>

Update <session-timeout> to the value you need, e.g. to 1440 720 (minutes i.e. 1 day12 hours).

Java and JVM Options

Download and install Java from java.com. Java JDK 1.8 is required (and version 1.8.0_74 or greater is recommended). The following JVM (Java Virtual Machine) options should be set to control (amongst other things) the amount of memory reserved for Tomcat and therefore made available for PhixFlow. The options are:

Option

Recommended Setting

Syntax

Initial Memory Pool

1024Mb on 32bit architecture. 40% of physical memory on x64 architecture. Consult your sys admin for recommended settings on virtual servers.

-Xms1024m

Max Memory Pool

As much as possible. 1024Mb on 32bit architecture. 75% of physical memory on x64 architecture. Consult your sys admin for recommended settings on virtual servers.

-Xmx1024m

Max PermGen Memory Pool

150Mb on 32bit. 1024Mb on x64.

-XX:MaxPermSize=150m

Garbage Collector Diagnostics

Enabled

-verbose:gc

...

Disable direct GUI access

Some JDBC (database) drivers generate warning messages direct to the screen if running under a GUI (graphical user interface).

These messages are confusing at best for a background service such as the PhixFlow web application server, and should be disabled.

This setting tells Java to behave as though there were no GUI present.

-Djava.awt.headless=true


To set JVM options:

Windows

  • Run the Tomcat Monitor
  • Open the Tomcat Monitor system tray Configure … menu
  • Select the Java tab
  • Set the Initial memory Pool (see table above)
  • Set the Max Memory Pool (see table above)
  • Add the following lines to the Java Options scrollable field:
Code Block
-XX:MaxPermSize=150m-Xms1024m
-Xmx1024m
-verbose:gc
-Djava.awt.headless=true


Unix/Linux

If you have installed the scripts in tomcat login scripts, these option will already be set however for clarity, these options are defined in the JAVA_OPTS environment variable set in the tomcat user’s shell startup file (e.g. .profile / .bash_profile / .cshrc in the user’s home directory – the actual startup file is determined by the user’s default shell settings).

Code Block
JAVA_OPTS='-Xms1024m -Xmx1024m -XX:MaxPermSize=150m -verbose:gc -Djava.awt.headless=true’true'


Database JDBC Drivers

The drivers needed to connect to PhixFlow’s own database are now included in within the release and do not have to be downloaded separatelypack and no action is needed.

Drivers used to connect to external databases may still have to be downloaded.

...

As the root user, install the “tomcat” tomcat script listed in in tomcat service scripts and create a softlink soft link to it from the appropriate run-level directory. The actual run-level directories are specific to the particular unix variant.