J. Austin Hughey edited this page Mar 26, 2016 · 26 revisions

Server Options for JRuby Applications

Standard Java Servers

Most people deploy JRuby applications using typical Java application servers like Tomcat or JBoss. When using these servers, the usual solution is Warbler. Warbler bundles up any Rack-based application into a Java "Web Application aRchive" (WAR) file, which can then be deployed on any web application server.

The following is a list of servers known to work with JRuby. It is not meant to be exhaustive (any Java Servlet API >= 2.5 compliant server should work).

Other Servers

  • Vert.x - An asynchronous application platform on the JVM for writing high performance web enabled applications. Vert.x is a polyglot platform and lets you write your applications in multiple JVM languages including Ruby (JRuby).

Embedded/Micro Servers

The usual Ruby way to run a server is to launch a small command-line server pointing at the application directory. Some of the standard Ruby servers work with JRuby, and an additional set of servers have been built specifically for JRuby by either wrapping an existing server or by simply wrapping Java libraries.

The following is a list of embedded/micro/commandline servers for JRuby. If you don't see your favorite here, add it!

JRuby Servers

  • Trinidad - Web server for Rails/Rack built upon JRuby::Rack and Tomcat.
  • Mizuno - Jetty-powered running shoes for JRuby/Rack.
  • Fishwife - Server based on Jetty 7.x or 9.x
  • TorqueBox - An all-in-one environment based on JBoss AS.
  • Puma - A server written in Ruby, wraps the Ragel parser (from Mongrel).
  • Jubilee - A server based on Vertx

Other Servers (Young Projects)

Deprecated Servers

  • Kirk - Another Jetty wrapper, but less "micro" with redeploy and multiple app support.
  • Aspen - A server based on Netty, a Java NIO framework.
  • Mongrel - The classic Ruby server, no longer maintained.
  • GlassFish gem - A gem-borne embedded version of GlassFish, now no longer maintained by Oracle.

Application Hosting Services

There are also several cloud and hosting services that either directly support JRuby or implicitly support it by having general Java webapp support.

The following services are known to work. Other webapp services should generally support JRuby applications (via Warbler) as well.

  • Heroku - Direct support.
  • Google AppEngine - Indirect support, but a community exists around JRuby deployment
  • Amazon Elastic BeanStalk - An elastic Java webapp cloud from Amazon based on Tomcat.
  • OpenShift by Red Hat - Several possibilities
    • OpenShifter - CLI tool to simplify the deployment of JRuby applications to OpenShift using JBoss application server
    • OpenShift-JRuby - Template for running JRuby application on OpenShift without an application server.
    • Deploying pre-build .war file to JBoss
  • BitNami - Provides free Amazon Cloud Images for JRuby Stack which include MySQL, Tomcat, Java, JRuby and the commonly used gems (including warbler). BitNami Cloud Hosting is an optional commercial service with a free developer plan that provides scheduled backups, monitoring and customization for JRuby projects and dozens of other open source app and frameworks.
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.