March 23, 2017

nginx-clojure - lean Clojure deployment

Nginx module for embedding Clojure / Java / Groovy programs, typically those Ring based handlers – Nginx-Clojure (by Zhang, Yuexiang (xfeep)).

DZone article on Nginx-Clojure: Fast Clojure/Java Web Apps on NGINX Without a Java Web Server.

Fast Clojure/Java Web Apps on NGINX Without a Java Web Server

Nginx-Clojure is a Nginx module for embedding Clojure or Java programs, typically those Ring based handlers. It is an opensource project hosted on Github. With it we can develope high performance Clojure/Java web apps on Nginx without any Java web server and with several benefits:

  • Clojure/Java controlled static files will get almost the same performance with Nginx static file service;
  • we just deploy one Nginx (compiled with Nginx-Clojure module) server instead of Nginx + some Java web server, eg. Tomcat, Jetty etc.;
  • Ring Handler is dead easy compared to Java Servlet;
  • we can use Nginx modules such as GZip, Image Filter etc. with our static and dynamic content on the fly without any cost of Proxy level;
  • we can use Java rewrite handler + proxy_pass to implement a dynamic proxy/balancer very quickly.
Tags: Software Computer Clojure Server Java Internet GUI