Multiple Domains on Tomcat server

Multiple Domain Names on Tomcat Server

Set up multiple domain names on the Tomcat server in order to increase the usability, efficiency, and scalability of your application, as well as save your costs without having to configure separate instances. For this, make some minor adjustments within Tomcat configuration files as described below.

1. Log into the Apiqcloud PaaS dashboard and click the New environment button:
                

2. In the Environment Topology dialog, pick your application server (e.g. Tomcat 9), and type your environment name, for example, multi binding.
 
In a minute your environment will be successfully created.

3. Now you need to deploy the projects. You can buy and set up your own domain names instead of default ones by adding CNAME record or by setting A Records. Read more in the Custom External Domain Name Binding document.

4. Go back to the Apiqcloud dashboard, click the Settings button for your environment and bind your domains.


In our example, we’ll use tomcatfirst.tk for the first domain name, and tomcatsecond.tk for the second.
5. Now you need to deploy the projects.
 
  • Upload the application file to the Deployment Manager and press Deploy to button.
    As an example, we use Hello World which is available in the Deployment Manager by default.



When the Deploy form appears choose your environment and assign the context (tomcat first, in our case). Then press the Deploy button.

  • Upload the second application archive. We will use modified Hello World (the words “You did it!” are recolored in red) just to see the difference at the final steps.

    Then deploy this application to the same environment but with a different context, (e.g. tomcatsecond).

When the deployment is finished you have two applications deployed in your environment.


6. Now click on Сonfig button for Tomcat and navigate to server.xml file (the /opt/tomcat/conf directory).

Add Host tags for each domain you want to bind:

1
2
3
4
<Host name="external.domain.tld" appBase="webapps/context_name" autoDeploy="true">
    <Alias>external.domain.tld</Alias>
    <Context path="" docBase="${catalina.base}/webapps/context_name"/>
</Host>

In our sample, we add the following code to server.xml file:

1
2
3
4
5
6
7
8
9
<Host name="tomcatfirst.tk" appBase="webapps/tomcatfirst" autoDeploy="true">
<Alias>tomcatfirst.tk</Alias>
<Context path="" docBase="${catalina.base}/webapps/tomcatfirst"/>
</Host>
 
<Host name="tomcatsecond.tk" appBase="webapps/tomcatsecond" autoDeploy="true">
<Alias>tomcatsecond.tk</Alias>
<Context path="" docBase="${catalina.base}/webapps/tomcatsecond"/>
</Host>


7. Save the changes and restart Tomcat.

8. Now you can check the results. Both your applications will be available through the specified domain names running on a single Tomcat server.

 
Note: If you want to redeploy an application to the Tomcat instance with already configured server.xml, you need to comment < Host > block before redeploying and uncomment it afterward.
  • 0 istifadəçi bunu faydalı hesab edir
Bu cavab sizə kömək etdi?

Uyğun məqalələr

Secure Java Encryption and Decryption

Secure Java Encryption and Decryption in Apiqcloud Java security technology includes a...

Timezone Data for Java/PHP App Server

  Managing Timezone Data for Java/PHP App Server All of the Java and PHP application servers...

Tomcat HTTP to HTTPS redirect

Option 1 Update web.xml configuration file and add the following content into the...

Environment Variables - Java custom Environment Variables

Environment variables represent a kind of placeholders, where you can store the frequently...

Java App server Configuration

To perform the necessary configurations, press the Config button next to your application...