If you’ve read our article about WordPress performance optimisation and our WordPress SEO guide , you know that it’s important to have a fast-loading website, both for SEO purposes and more importantly, for your users’ convenience. If you spend a lot of time in the dashboard updating your site, you will also appreciate a fast website yourself as a site administrator.
One of the biggest steps you can take in setting up a high performance WordPress site, is that of switching from shared hosting to a Virtual Private Server or Dedicated Server. Shared hosting is what we all use as an entry point because it is easy to set up and cheap. However it lacks performance and the support you get might not be always up to scratch.
Going for a managed VPS or buying a dedicated server is usually very costly, so we suggest you move on to an unmanaged VPS. The latter option will bring great savings when compared to a managed VPS. You will be administering your own server instead of relying (and paying) on someone else to do it for you. This is also your chance to learn much more about how servers work and how every tweak affects the performance of your site.
If you’ve outgrown your shared hosting plan, or are already paying a lot of money for a managed VPS/dedicated server, this guide will be your key to building a very cost-effective (~$30/month) and highly tuned server that will dish out your sites at lightning speed.
Some key quick facts about this setup we will be working on:
This will be a longish guide, and I want to take the time to really explain all the steps well, so I’ll be splitting the guide out on several posts. Before we start getting our hands dirty, it’s a good idea to talk a bit more about the main components of the VPS we will be building.
The Host – VPS.net
As indicated above, I will be using the VPS.net cloud hosting service for building the server. What exactly is VPS.net? They are a provider of Cloud Virtual Private Servers. You can affordably purchase as much hosting firepower as you need, and have full control over the management of it. VPS systems are made up of one or more nodes.
Each node provides 376MB RAM, 10GB SAN storage, 600MHz dedicated CPU and 1TB/month bandwidth. Discounts apply when buying multiple nodes, so the more you need, the more you can save. One or two nodes should be enough for a small WordPress site, and you can always add more nodes as you go along, that’s the beauty of cloud hosting.
Yes, that’s right, you don’t purchase a server with fixed performance attributes and get stuck with it. With the VPS.net cloud hosting system you can add and remove nodes as required. You just need to purchase the extra node, reboot the system, and you’re good to go. You can even purchase “temporary” nodes on a $1/day basis, which work great for handling short-term traffic spikes, or creating a temporary development test server.
Why choose VPS.net? Simply because they’ve been one of the pioneers in cloud hosting and currently host some of the biggest names in the WordPress world, such as Yoast. They have the most user friendly interface, which is a great plus if you’re just starting out with VPSs. Very recently they’ve also rolled out the VPS.net desktop, with this feature you will have an interface very similar to your computer’s desktop but working within your browser, helping you manage all aspects of your virtual private server.
What’s more, if you’re not yet sure whether you want to make the big move to a VPS and would like to try it out first, you can sign up for a free month, using the coupon code “FFMSPRING”.
Server OS + Software
Let’s talk a bit more about our choice of operating system and software to go on the server. We will be setting up quite a number of software packages on the server, but before we start, it’s worth pointing out why we chose Ubuntu and Nginx, as these are two crucial components of your VPS setup.
Secure, fast and powerful, Ubuntu helps you make the most of your infrastructure. Whether you want to deploy a web farm or deploy a cloud, Ubuntu Server supports the most popular hardware and software. Ubuntu server is one of the most popular servers and is very stable, a great choice for someone starting off with VPSs.
Nginx (pronounced engine x) is an HTTP and reverse proxy server, as well as a mail proxy server. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VKontakte, and Rambler. According to Netcraft nginx served or proxied 10.09% busiest sites in April 2012.
Nginx differs from Apache in a fundamental way—Apache is a process and thread-driven application, while Nginx is event-driven.
Here’s a quote by Chris Lea, it will help you understand in simple terms what the difference is:
“Apache is like Microsoft Word, it has a million options but you only need six. Nginx does those six things, and it does five of them 50 times faster than Apache.”
So while Apache is more robust in supporting many different features, Nginx focuses on handling the important features very quickly.
If you’re interested in getting to know more about Nginx, check out the Nginx wiki.
Having gotten the server OS and web server software considerations out of the way, we will be discussing the other software components of our server as we go along.
Part 2: In Part 2 of this series, we will open an account at VPS.net, install Ubuntu and start configuring it. In the meantime hit the link below to get your one month free at VPS.net and have your server ready for some action in our next post.
If you enjoyed this post, make sure to subscribe to WPMayor’s RSS feed.