Programming Tutorials

Tomcat and httpd configured in port 8080 and 80

By: Emiley J in Java Tutorials on 2013-07-21  

When you install Tomcat in your server, by default it uses port 8080. Typically in a linux system, you can install apache2 or httpd as a web server that handles the default port 80 and then uses mod_proxy to send requests to Tomcat at port 8080 for sites hosted in Tomcat.

httpd (or apache2) are great for hosting multiple websites (multiple domains) in a single server. In this example, we will install, httpd in port 80 and Tomcat7 in port 8080 and then configure both of them to handle requests seamlessly.

Install and configure httpd

  • yum install httpd You could of course use apt-get instead of yum depending on your platform
  • vim /etc/httpd/conf/httpd.conf
    Look for the following modules and enable them if they are not already enabled
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

    Then uncomment, the following line

    NameVirtualHost *:80

    Uncomment the following lines at the bottom and change it to point to your default domain.

    <VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html
        ServerName www.yourdefaultdomain.com
        ErrorLog logs/default-error_log
        CustomLog logs/default-access_log common
    </VirtualHost>
    

    Save and close the file by pressing 'Esc' and the typing :wq! and Enter.

  • service httpd start

Intall and configure tomcat7

  • yum install tomcat7-webapps tomcat7-docs-webapp tomcat7-admin-webapps
  • under /etc/httpd/conf.d create a file named mytomcatapp.conf and copy the below code
  • <VirtualHost *:80>
    ServerName www.myanotherdomain.com
    ProxyPass         /  http://localhost:8080/
    ProxyPassReverse  /  http://localhost:8080/
    ProxyRequests     Off
    
    # Local reverse proxy authorization override
    # Most unix distribution deny proxy by default 
    # (ie /etc/apache2/mods-enabled/proxy.conf in Ubuntu)
    <Proxy http://localhost:8080/*>
      Order deny,allow
      Allow from all
    </Proxy>
    </VirtualHost>
    

You have now installed both httpd and tomcat7 and configured them. You now have to start/restart both services

service httpd restart
service tomcat7 restart

Now when you goto your www.yourdefaultdomain.com in your browser, the request is direclty handled by httpd service and the index file from your /var/www/html folder will be returned to the browser.

If you goto www.myanotherdomain.com in your browser, the request will be forwarded by httpd service to the tomcat7 internally and your tomcat application will serve the pages.

The domains www.myanotherdomain.com and www.yourdefaultdomain.com are used for illustration purposes only. You have to use your own valid domains, and the DNS A records have to be created to point to the IP address of your server





Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Java )

Latest Articles (in Java)