You may have noticed TheLoneGamers.com having troubles over the past 24 hours. (From about 5 pm yesterday to about 6 am this morning in actuality.) I appreciate the supportive emails I’ve received in regards to it from loyal readers. I did not receive a single OH MY GOD THE SITE IS DOWN YOU SUCK DIE IN A FIRE email.
Thanks for that.
I recently decided to migrate from our shared hosting at Dream Host to a VPS with Digital Ocean. This came out of months of dealing with the performance issues that every growing website has to deal with. I tried everything – caching of every shape and size, employing a CDN, performing weird dances to the webhost god. We simply outgrew our webhost. It happens.
I went with Digital Ocean at the request of my long time friend, Mat Gilbert, whom is an outstanding web programmer and a go-to guy. I love to pick his brain – you should pick his brain about web programming, too! Give him a good job, he certainly deserves it!
Shout out complete.
This site is now running on a VPS that has a single CPU core, 512 MB of RAM and only 20 GB of SSD space. It runs Ubuntu 14.04 with the bare minimum in the way of goodies piled on. Apache, PHP, MySQL and that’s pretty much it. Because that’s all I need!
The real kicker is that it only costs me $5 a month to host now. FIVE DOLLARS. HOLY COW! Blown away!
So about the problems we had.
Unix, Linux, bash, Apache, MySQL… I hadn’t really any of them since I joined the Army in 2009. That’s why I went to Dream Host in the first place – they made it easy to manage my webhosting. Luckily it is all kind of like riding a bike – I got back into it quickly and easily. But not without hiccups.
I fought with a few problems. File permissions, swapfile, DNS (really me just being impatient with change propagation) and Cloud Flare, oddly.
File permissions on a Unix/Linux system can be a bit weird, especially after you’ve forgotten about it over the course of half a decade. Luckily my friend Mat Gilbert pointed me in the right direction. That’s a security concern so I won’t go into it.
Swapfile threw me for a loop. We had an outage last night from about 11 PM EST to about 5 AM EST this morning. MySQL took a crap because it ran out of available memory. I thought I had a swapfile established and I did but it wasn’t permanent. Oops. I rebooted the server after going to bed last night and tested everything but a traffic spike around 10:55 PM caused the server to burn up all available memory and choke out MySQL in a brutal close-quarters hand-to-hand match. MySQL obviously lost.
I simply had to fix it by making the swapfile permanent with some really cool bash commands that I won’t bore you with here. We now have plenty of swapfile to go to town on so MySQL shouldn’t lose the battle against available system memory every again. But I dare you to drive enough traffic to this site to make it happen! I DARE YOU!
Cloud Flare is a fun one. We use it to help reduce load on the server and make the pages load a lot faster. I just forgot to set the nameserver settings in Cloud Flare properly. Admittedly, I was excited about the migration and was dumb. Sorry.
Server Migration Complete!
Anyway, we should be good to go for now. If you notice anything wrong, not working, an error message, smoke billowing or actual fire…. I ask that you send me an email detailing the problem to the best of your ability so I can fix it.
Dream Host is still a really great host. We just outgrew them. They offer great prices and they make webhosting easy but also safe and reliable. I’d HIGHLY suggest them if you are just getting started.
Digital Ocean is a step up but it requires a lot more technical knowledge, especially in the realms of Apache, MySQL, bash and Linux. Read up on them if you are interested. Their VPS’s are fast as hell, even the cheap ones.
Digital Ocean is even offering $10 credit for such a VPS so you can try it out. That’s either a trial of 2 months of the same specs on a server that runs this website or 1 month of the next step up. Your choice. And it helps us out by giving us some referral credit.Banner goes here