• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Paul Clapham
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Roland Mueller
  • Piet Souris
Bartenders:

Ruby - App Server

 
Ranch Hand
Posts: 398
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

Which is the best App Server that Ruby comfortably sit and play well?

Mourougan
 
Ranch Hand
Posts: 686
Netbeans IDE Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
anyone?
 
Ranch Hand
Posts: 324
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I bet on GlassFish
 
Ranch Hand
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Since Ruby is interpreted, you don't need an app server at all to run Ruby scripts. However, if you are building web-applications - you can go with:

Mongrel - the trusted standby
Glassfish - If you want to deploy onto the JVM
Webrick - For development it isn't a bad choice.
Cerise - follows J2EE patterns


 
Mourouganandame Arunachalam
Ranch Hand
Posts: 398
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hmmm... interesting....

Thanks Vyas for activating my query
 
Vyas Sanzgiri
Ranch Hand
Posts: 686
Netbeans IDE Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Important to know before I can convince the management
 
Ranch Hand
Posts: 3389
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thats a good post ! Thanks Michael!
 
Himalay Majumdar
Ranch Hand
Posts: 324
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Mongrel is a Web Server, not an App Server.
There is also Apache Web Server just like Mongrel for Ruby web applications.

Being a Java guy I am more inclined to Apache, but it seems Mongrel is more popular for Ruby specific web applications.
 
Michael Sullivan
Ranch Hand
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Himalay, fair enough.

Glassfish and Cerise are app servers, Mongrel, Webrick, and Apache are web-servers.

That said, you can use either web or app server in prod deploys of Rails apps, though for Ruby scripts - only the interpreter is needed.
 
Raghavan Muthu
Ranch Hand
Posts: 3389
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That said, Ruby can fit into both Web and App Servers? What if in case of application container specific stuff is packed into a Ruby based web application? Something similar to Java EE applications, we should go for an App Server then?
 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think that is implicit that if you deploy on the JVM you need to use JRuby not Ruby.

I will use Tomcat 6. I am not sure if I will develop with Ruby or JRuby, and at the time of the deployment I could switch from a Ruby project to a JRuby one only by copying the files.
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As mentioned by others already, you can deploy Ruby-based web applications on both a "native" Ruby platform or on the JVM.

For the former, the "classic" infrastructure was also mentioned already (Apache + Mongrel) but I'd like to add to that list a couple of web servers that seem to be popular: Thin, Nginx and Lighttpd. In addition to these, Phusion Passenger (an Apache module) has been gaining popularity.

On the JVM with JRuby, I'd probably go for Jetty rather than Glassfish. The main advantages of Jetty compared to Glassfish are that Jetty's a proven web container with good performance and Jetty can be easily embedded into your Java process, making it easy to write integration tests.
 
Raghavan Muthu
Ranch Hand
Posts: 3389
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That's great. Thanks Lasse!
 
Michael Sullivan
Ranch Hand
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've heard a lot about Nginx, has anyone used it personally?
 
Raghavan Muthu
Ranch Hand
Posts: 3389
Mac MySQL Database Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have NOT yet
 
Michael Sullivan
Ranch Hand
Posts: 235
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, I touched base with a friend of mine who was trying to scale out a simple rails app, and test with something like 1000 concurrent users. Amazon offers a free 50/pay 50+ concurrent user test platform that he uses to get the appropriate count, but he was trying to get gzip compression and far-future expires headers set through Apache... and having a heck of a time.

Instead, he upgraded on his host (hostingRails), and intalled Nginx. Now, he's a pretty savvy Unix guy so keep that in mind. He said that his install, config, use of Nginx was fantastic. Not only did it run extremely fast compared to Apache... but he said most of the performance tweaks he was going for were already setup correctly. He's singing the praises of Nginx, and he's definitely colored me to take a better look.

Good suggestion Lasse!
 
reply
    Bookmark Topic Watch Topic
  • New Topic