If you’re using NGINX FastCGI Caching, there’s very little that W3TC or WP Super Cache will be able to offer you, even if you store FastCGI Cache to disk instead of RAM. Minification is about the only thing FastCGI cache doesn’t handle, but Pagespeed** does.
Essentially, these plugins store static pages as a means of caching your site – FastCGI Cache does the same thing. The difference between the two is NGINX is managing the FastCGI Cache whereas with a plugin, your PHP code is handling it. NGINX is going to handle it much faster, though there’s a downside.
The downside is that, unlike W3TC and WPSC, FastCGI Cache does not auto-purge when you add a new page, post a new post, update pages/posts, etc. You have to clear it manually.
There is a FastCGI Cache helper plugin, but it relies on a module that requires that you compile NGINX from source and build that module in. Said module also doesn’t work with the latest version of NGINX, so you’d have to rely on a slightly dated version of NGINX until the module is updated (which doesn’t appear as if it’ll be anytime soon).
As far as W3TC goes, there’s really not a one-shot configuration that “just works.”
When you step in to minification, you step in to an area that is going to require that you’re capable of troubleshooting, especially when using auto-minify.
Auto-Minify just doesn’t work well when there’s a ton of JS files as not all JS files follow the same spec in terms of coding, thus not all will minify as expected. You may have 20-30 JS files and 10-15 of those will work as expected and you’ll have to troubleshoot why you can’t minify the last 5-15. Doing so may result in odd looking pages, missing content, etc.
** Pagespeed, like the FastCGI Cache Purge module, requires that you build NGINX from source. It’s not part of the NGINX Core.
All that being said, I can help you with one aspect of getting NGINX setup. I wrote an auto-installer which installs the latest Mainline version of NGINX and comes stock with a pre-optimized configuration.
It builds NGINX from source and includes pagespeed so you can tinker with it.
There’s auto-installers for NGINX, PHP 5.6/7.0/7.1, and MariaDB. I’d recommend running this on a clean Droplet (i.e. freshly deployed, nothing installed by you).
cd /opt \
&& git clone https://github.com/serveradminsh/installers.git
&& cd installers/nginx \
&& chmod +x installer.sh \
That’ll auto install NGINX. You can then change over to the other directories to auto-install MariaDB and PHP using the same commands.
cd installers/mariadb/10.x \
&& chmod +x installer.sh \
cd installers/php/7.1 \
&& chmod +x installer.sh
You’ll still need to configure server blocks, your sites, setup them up, etc, though these offer a way to get the server setup. Security isn’t a factor here, so you’ll need to properly secure your server, etc. I am working on a full LEMP Stack installer, though it’ll be a little bit before it’s ready for production use.