Tomcat Server
Tomcat Server Cloud Hosting
Apache Tomcat is a widely used Java server for web applications. This guide covers Tomcat installation, version changes, vertical and horizontal scaling, automatic clustering, application deployment, configuration, security, and multiple-domain hosting.
Create Tomcat Server
Initialization system
The current Tomcat template uses the modern systemd initialization daemon.
Open the environment wizard
Sign in to the dashboard and click New Environment.
Select Tomcat
Open the Java tab, select Apache Tomcat, and choose a version available in the list. The platform supports Tomcat releases starting from version 7 through current supported versions.

Create and test the environment
Complete the remaining topology settings and click Create. When provisioning finishes, click Open in Browser next to the Tomcat node.


Each Tomcat server operates inside an isolated container with its own private IP address and unique DNS record.
Change Tomcat Version
The Tomcat and JDK versions can be changed by redeploying the container while preserving supported data and configuration.
Open container redeployment
Click Redeploy Container(s) beside the Apache Tomcat server layer.

Select the target versions
Choose the required Tomcat and JDK engine versions, review the redeployment options, and confirm the change.

Tomcat Clustering and Scaling
Automatic Vertical Scaling
Set the upper Cloudlet limit in the topology wizard. The platform dynamically increases or reduces RAM and CPU allocation according to Tomcat demand. One Cloudlet represents 128 MiB of RAM and 400 MHz of CPU.

Manual Horizontal Scaling
Use the Horizontal Scaling controls in the topology wizard to set the required number of Tomcat nodes.

Automatic Horizontal Scaling
Create triggers that monitor CPU, RAM, network, or disk usage and automatically add or remove Tomcat nodes when the configured conditions are met.

Automatic Tomcat Clustering
Enable Auto-Clustering in the dashboard to configure a reliable Tomcat cluster automatically.
- Tomcat auto-clustering is available from versions 10.0.5, 9.0.45, 8.5.64, and 7.0.108.
- TomEE auto-clustering is available from versions 9.0.0-M3 and 8.0.5.
- Older releases can continue using the previous clustering and session-replication functionality.

Deploy Application to Tomcat Environment
HOT_DEPLOY variable
Tomcat and TomEE support the optional HOT_DEPLOY variable. Values such as true, enabled, or 1 allow deployment without restarting the server. Hot deployment is disabled by default because some applications do not support it.

Upload the package
Open Deployment Manager, select the Archive tab, and upload a WAR, EAR, or ZIP package from your computer or an external URL.
Deploy to the environment
Hover over the uploaded package, click Deploy to, select the Tomcat environment, and define the deployment context or keep the default ROOT context.
Review the deployment
After completion, the application appears in the environment deployment list. Deployment hooks can be added to run scripts before or after deployment.


Tomcat Configurations

Security and Multiple Domains
- Configure user authentication to restrict access to deployed applications.
- Deny access from selected IP addresses when required.
- Use Container Firewall rules to control internal and external connectivity.
- Configure multiple domain names on one Tomcat server by adjusting the relevant Tomcat configuration files.


Expected Result
A managed Tomcat environment is created with the required server and JDK versions. It can be scaled vertically or horizontally, clustered automatically, configured through the dashboard, secured with access controls and firewall rules, and used to deploy Java applications from archives or repositories.
Important Notes
- Check application compatibility before changing the Tomcat or JDK version.
- Use Stateful scaling when new nodes must inherit the primary node file system.
- Confirm provider-specific account limits before scaling to many nodes.
- Enable HOT_DEPLOY only when the application supports deployment without a server restart.
- Use clustering or shared session storage for multi-node applications that require session continuity.
- Review firewall and authentication settings before exposing the server publicly.
