The Perfect

Using rvm, it might be awesome to have the ability to have multiple Rubies on a single webserver, and through some kind of server configuration, have the ability to assign Ruby versions to various Rails/Sinatra/etc applications on the per-project basis.

I know, from rvm's documentation, that Passenger is only for one Ruby at any given time. :(

The Compromise

Failing that, it might be nice to a minimum of have the ability to concoct a method to have the ability to assign projects to some Ruby 1.8 or perhaps a Ruby 1.9 interpreter. I have read that using Nginx like a reverse proxy enables running Apache and Nginx on a single box. Wouldn't it then be easy to have Apache+Passenger using one Ruby, and Nginx+Passenger using another one? Maybe use something apart from Passenger with Nginx?

Am I Woofing In the Wrong Tree?

Am I missing a great choice for this problem? Am I walking right into a nightmare configuration situation? Is exactly what I would like even viable, or must you run another box to operate another Ruby version?

You could utilize Thin or Unicorn with Nginx. You can than write a god script as well as other startup script to create the ruby version per project (or just start Thin/Unicorn by hand).

Use multiple small virtual machines?

take a look publish: Phusion Passenger &lifier running multiple Ruby versions from official Phusion blog. It's solve the issue by use Passenger Stand alone as reverse proxy.

How about keeping all of your projects (or at best individuals on a single server) on a single ruby version? Whether it is utilizing an old version or improving old projects?

I believe, by doing this you will find the fewest problems.

The compromise can be done. You will it this several different ways but most likely the simplest is really a reverse proxy coupled with as numerous chrooted ruby+webserver+rails installs while you find convenient.