Thursday, 6 October 2016

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

Background

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

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 -