<p>Has anyone had any success running two different web servers -- such as Apache and CherryPy -- alongside each other on the same machine?  I am experimenting with other web servers right now, and I'd like to see if I can do my experiments while keeping my other sites up and running.  You could say that this isn't so much a specific-software question as it is a general networking question.</p>

<ul>
<li>I know it's possible to run two web servers on different ports; but is there any way to configure them so that they can run on the <em>same port</em> (ie, they both run on port 80)?</li>
<li>The web servers would <em>not</em> be serving files from the same domains.  For example, Apache might serve up documents from foo.domain.com, and the other web server would serve from bar.domain.com.</li>
</ul>

<p>I do know that this is not an ideal configuration. I'd just like to see if it can be done before I go sprinting down the rabbit hole.  :)  </p>

Your best bet would be putting Apache httpd in front of port 80 and relay requests meant for other servers through Apache by using modules. Most popular scenario would be Tomcat behind Apache where you'll be able to run both php and jsp applications.
I'm not familiar with CherryPy, so I can only suggest you look for an Apache module for CherryPy.
Edit: This looks promising:
http://tools.cherrypy.org/wiki/BehindApache