Thursday, 6 October 2016

Setup Tomcat on an Amazon EC2 instance to deploy a wep app


Amazon EC2 module is a virtual server in cloud. It's a IaaS (Infrastructure as a service) when you have your own machine (virtual) with an operating system and you can deploy your stuff there. We have already discussed setting up an EC2 instance and connecting to it. If you do not recollect please refer -
 In this post we will see how to setup your tomcat and access it remotely. This post assumes you have an EC2 instance up and running and you can SSH to it remotely.

Setup Tomcat on an Amazon EC2 instance to deploy a wep app

Apache Tomcat, often referred to as Tomcat, is an open-source web server developed by the Apache Software Foundation (ASF). Tomcat implements several Java EE specifications including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, and provides a "pure Java" HTTP web server environment in which Java code can run.

There are two ways you can setup tomcat on your machine (EC2 instance) in this case. Either
  1. install it through apt-get
  2. Download the binary distribution from their official site and use
We are going to take simpler route here and install it via apt-get. First get an update -
  • sudo apt-get update

 Next install tomcat7 -
  • sudo apt-get install tomcat7

 Post installation you can see the default configuration file located at -
  • less /etc/default/tomcat7 

 You can change the configuration parameters here if you wish.

To start,stop and see current tomcat status you can use following commands -
  • sudo service tomcat7 start
  • sudo service tomcat7 stop
  • sudo service tomcat7 status

 Next you can deploy your webapps at /var/lib/tomcat7/webapps
  • CATALINA_HOME : /usr/share/tomcat7
  • CATALINA_BASE : /var/lib/tomcat7

 Now your tomcat installation is done. Tomcat by default runs on port 8080 that you need to open externally (for inbound traffic). Go to Security Groups and add a custom TCP rule to open port 8080 externally -

 Add the rule and save it. You should not be able to access your tomcat. If it shows you Its up! page you are all set!

I have also deployed a web app. If you have a web app just export it as war and put it in webapps directory
  • /var/lib/tomcat7/webapps 
And restart tomcat. Tomcat will automatically extract folder out of it and deploy. If you do not have a webapp and want to test you can checkout -
Import it in eclipse and export a war out of it. If you want to skip all that you can directly download the war from -
and put it in webapps folder. Note this war is compiled with java 8. So make sure you are using Java 8 for your tomcat. You can set it in file -
  • /etc/default/tomcat7
Eg. JAVA_HOME=/usr/lib/jvm/java-8-oracle

Once deployed you can hit following URL and see if it works. If it does not you need to check catalina.out logs for any deployment issues.

You should see a page something like above.

Related Links

t> UA-39527780-1 back to top