Yes, there is. One such solution is POE. Check
where you have some examples of Application Servers. I haven't used it (yet). As for caching you might check
. It works pretty nice.
You will also need the
.
I use memcached to cache web pages that are constantly visited, but leave the SQL query caching to the database server.