@John - It's not that complicated, really.

My nginx config basically looks like this:

if (!-e $request_filename) {
rewrite ^/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
rewrite ^.*$ /index.php last;
}

The first one handles the silly /files/ thing in multi-site (which I'm planning on eliminating soon). The second is the main WP rule.

For W3 Total Caches nginx support, it writes an nginx.conf into the WP root directory. So I just symlinked it to the right place for my own nginx config directory.

For the W3 settings, I basically turned on XCache support in my dreamhost config panel, then used it everywhere in the W3 settings. Then I enabled the Page Cache, Object Cache, and Browser Cache modules. All three are set to use the XCache to hold their data, so the cached info is stored in RAM, basically.

The Page Cache does whole-page caching, and is nice and fast for repeated queries to the same pages, for logged in or anon users.

The Object Cache does object caching, and causes my admin section to be nice and speedy, since things like posts and such are pulled from memory instead of the database.

The Browser Cache basically just sets the proper expire headers on everything, thus images and such don't have to be redownloaded all the time.

I don't use the other bits of W3 mostly because they're unnecessary for my setup.