A while back I had switched from shared hosting over to Google Compute Engine. It has been a great experience and great for learning. Server admin ain’t for everyone, I get it. It takes you way outside of your comfort zone. Especially on GCE with no GUI or anything, just plain old CLI. I imagine you could setup cpanel or something of the sort, but I didn’t bother, I wanted to get my hands dirty!
Well, every time I change something, it’s a chain reaction and I have to crawl down that Google rabbit hole until I get to the end, sometimes those holes are deep! I just got to the end of one and it sure was a challenge! I’m running a Debian box and a new version was just released so I upgraded to Debian 9, Stretch. I thought the implemented PHP7, but it wasn’t automatic. So after a bit of research I figured out how to get to PHP7. Then I figured out what I really needed was to implement Fast-CGI enabling php-fpm. So I did all of that. Which in turn broke my ability to run WordPress upgrades so I needed to enable upgrades over SSH. Then my uploads were broken so I had to figure out file permissions.
This was a nice long chain of running backups and testing things out. Luckily it all went pretty well and I never once had to revert to my backups. So now I have a Debian 9 server running PHP7 with Fast-CGI enabled. I have a second box running that just hosts my mysql database (MariaDB). I then have 2 additional storage areas that host files like DJ mixes which are outside my own server and standalone, so I can grant people access to upload their own files in browser. Those are mounted to my server and symlinked in through subdomains. I had to batch edit my database to clean the old upload URLs from early WP days to use the new subdomain setup. But once I got all of these upgrades configured, my site speed was up like 75% and my server resource usage average was down over 50%. I think the graph here speaks for itself!