How should I deploy my JVM-based web application on ubuntu?

Posted by Pieter Breed on Server Fault See other posts from Server Fault or by Pieter Breed
Published on 2010-11-05T12:21:55Z Indexed on 2011/07/01 8:24 UTC
Read the original article Hit count: 267

Filed under:
|
|
|
|

I've developed a web application using clojure/compojure (JVM based) and while developing I tested it using embedded jetty that runs on 0.0.0.0:8080. I would now like to deploy it to run on port 80 on ubuntu. I do dynamic virtual hosting, so any request for any host that arrives on port 80 should be handled by my application.

The issues that worries me are:

  • I can still run it embedded but I'm worried about running my app as root (needed for binding to port 80). I'm not sure if I can 'give up root' when in the JVM. Do I need to be concerned by this?
  • besides, serving web applications is a known problem and I should be using known solutions for this (jetty or tomcat)
  • but especially tomcat seems very heavy weight. Besides, I only have one application that listens to /* and does routing internally. (with compojure/ring). What I'm trying to say with this is that tomcat by default assigns WARs to subfolders which I don't want.

So basically what I need is some very safe way of binding to port 80 on ubuntu that can with minimal interference send all requests to my app. Any ideas?

© Server Fault or respective owner

Related posts about deployment

Related posts about web-apps