This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
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?
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.
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.