Nginx is a lightweight, high-performance Web server/reverse proxy that does one thing really well and that is to serve content at insanely fast speeds. It does does this using less resources and can increase page loads by the thousands.
Nginx can handle WordPress on its own but it can be hard to configure and you lose some of the dynamic benefits and reliability that come with a publishing platform like WordPress. The solution: Install Nginx on top of Apache and let it handle the static content and pass off the heavy loading php and MySQL requests to Apache.
To do this you have to make Apache listen for connections on an alternate port while Nginx listens on port:80. Dan Collis-Puro has written an excellent plugin that makes WordPress emit an “X-Accel-Expires: 0″ header when a user is logged in or has taken actions that should cause them to get a customized page on your frontend. This will keep WordPress dynamic and allow logged in users to participate in comments and have access to the latest published content.
You can still use an opcode cache like APC or Xcache for even more performance gains. It is also compatible with my favorite plugin, W3-Total Cache.
For more information and setup instructions see How to Configure Nginx as a Reverse Proxy Static Cache for WordPress
