I would like to have our web applications pull static content (css, js, images) from a static file server running Windows Server 2008 and IIS7.
What sort of optimizations would you make to the server for this single purpose?
(Machine.config changes? Web.config changes? Special IIS7 setup or modules? What?)
IIS7 is great for that because you can remove anything that you don't need from the pipeline. i.e. session state, non-used authentication, non-used logging, isapi filters, webdav, etc. I don't have a doc to refer to you, but if it's a fresh server that you don't mind breaking when setting it up, what I suggest is to take a backup before starting, then edit your applicationHost.config file with notepad or your favorite text editor. (%windir%/system32/inetsrv/config)
The section defines what parts of IIS are run. You can do this with Server Manager too, and make sure that you install just the basics. You should be able to get down to just 5 or 6 modules since you're serving up static pages. You may not even need compression or DefaultDocumentModule for a static-image-only server.
Apart from disabling/uninstalling all unneeded modules in IIS7 I would highly recommend running IIS7 on a server core installation of Windows. Server core has a smaller footprint and uses less system recourses than a full installation of Windows server leaving more resources available for IIS itself.
Information about installing IIS7 on server core can be found here
Information on installing/uninstalling modules can be found here
While server core has a pretty small footprint on its own I also recommend disabling all unneeded services on the machine. You can do this from the command line or through a remote MMC from your workstation.
View instructions at Build a Custom IIS 7.0 Server. In part named Stripping Down the Server you will get server configuration that doesn't serve anything and then first thing that is added is serving of static files.