in ,

Why You Should Avoid Shared Hosting and Try Nginx with WordOps

It’s much easier than you think (plus cheaper and faster)

Most web hosting these days comes with a control panel like cPanel. These control panels generally let you administer your hosting account in an easy manner and will work for basic websites. However, there is a limit on their capabilities and once you start getting as little as a dozen visitors using your site at once, you could run into performance issues.

Of course, some web hosting companies are better than others, and there is also different levels of plan that they can probably offer you. But sometimes simply upgrading to a more powerful plan will not fix the issues you are seeing - your hosting company might be overselling their servers, other people sharing your server might be taking up all the resources, or dozens of other situations could mean that you aren't getting access to the server resources (like CPU and RAM) that your website needs to show its content to visitors.

Concurrent users on one of my sites. Shared hosting won't cut it!

There is a solution to all this however. You need a small VPS (Virtual Private Server) somewhere like Linode, or a cloud server from UpCloud (both of which I use personally), and also a server admin toolset called WordOps.

Why is what I'm suggesting better than shared hosting from HostGator, Bluehost or any of the hundreds of other operators out there? Read on...

1. Dedicated Resources

When you sign up with hosting companies like HostGator, you are most likely being put onto a shared hosting plan. A shared hosting plan is one where the host company has a server and then creates multiple hosting accounts it, sometimes hundreds (you get one of those accounts when you sign up with them).

While your database and files are protected thanks to your login details on the server (none of the other accounts hosted on the server can see or access them), you are competing for server resources with those other accounts.

For example, there might be 100 different accounts on the server and the maximum CPU and RAM that you can utilize at any one time is 5%. So what if 50 account are using all their available CPU? 50 x 5% = 250% - this means that more than the available amount of CPU is going to be required by all the accounts to function, and everything will start to slow down.

The hosting companies bank on this scenario not occurring and everything going relatively smoothly as a result, but that's often not the case and you will inevitably suffer slow downs.

One of the last things you want to see for your website

With a VPS, on the other hand, while a server is generally split into several different hosting accounts, you are guaranteed the resources that you pay for. This is where the virtual and the private part comes in. Using special software (generally, KVM, for those of you that are interested) the server can be split into a number of different virtual servers - each one having its own dedicated resources and able to be turned on and off independently of the others. It's really like splitting the physical server into a number of smaller ones, only virtually thanks to the software.

You have probably also heard of cloud hosting, this is considered by some on a level above VPS as instead of a single physical server being split into multiple virtual servers, multiple physical servers are aggregated together and then they are split into virtual servers. This way, if one of the physical machines had some sort of hardware malfunction, your resources don't necessarily be affected, whereas if you were on a VPS on the same server, everyone's hosting would fail.

Cloud hosting also means that, if you site gets extremely big, you can scale upwards too, so you might have a virtual server/account that has the effective resources of a dozen servers.

2. Nginx

Nginx (pronounced "Engine X") is web server software that is basically a whole faster than Apache (another web server) out of the gate. The technical reasons why are beyond the scope of this article, but trust me, it's faster.

The issue, however, is that shared hosting is generally run on Apache only. This is because cPanel, the makers of the software that powers most shared hosting accounts (and makes it easy to administer for both customers and the web hosting company) only runs on Apache.

Nginx

While they are working on making cPanel run on Nginx, it's not clear how long it will take, nor what specific features of Nginx will be available for you to use and take advantage of.

So essentially, if you use shared hosting, then you're stuck with Apache, which is slower and inferior to Nginx.

3. No Paid Control Panel

As I briefly mentioned above, shared hosting generally runs using cPanel software, which is paid software. This means that part of that cost is passed down to you and included in your hosting plan. If you use a VPS with Wordops to run your WordPress site, like I am going to show you, you won't need any sort of paid software.

4. Caching

In the web hosting world, caching basically means storing a copy something in a place that can be accessed very quickly and without much work, so that it can be retrieved and shown to your website visitors over and over again with little effort, instead of having to locate and access it each time. Instead of searching through 10 fields, for example, for the piece of content that your website needs to show to your user, with caching, your server will know exactly where it is, and be able to show it in an instant.

Caching is very simple with Nginx and is actually built in (it's called FastCGI caching). Plus there's many more options for caching in Nginx that you can utilise easily thanks to Wordops.

Apache has its own caching option too, called mod_cache, however it's known to be glitchy and also isn't always compatible with other Apache components (in short, it's inferior to FastCGI, or other Nginx caching options) for our purposes.

So, caching is good, Nginx has some excellent caching options, and Wordops let's us implement them very easily. Boxes ticked!

5. Control

Another reason why I like to run VPS or cloud hosting over shared hosting with cPanel is control. When the hundreds of shared hosting accounts are created on the one server under a shared hosting scenario, the hosting company needs to put in place lots of restrictions to try and ensure that your website is not affected by what all the other accounts on the server might be doing (i.e. if they are consuming a lot of resources, or interfering with your own files).

While oftentimes you will still experience slowdowns on shared hosting, thanks to other accounts, this also means that you might be limited as to what other software can be installed on your server, subject to overly restrictive security policies, or not be able to install the particular WordPress plugins that you want.

Root access

With your own VPS or cloud hosting none of this is an issue. You get your own "virtual server" and are free to do with it what you want. You will be given "root access" which is basically the highest tier administration account on any Linux operating system (Linux is the most common operating systems for hosting servers, like Windows is the most common operating system for home desktops and laptops). You have free reign to do whatever you want with your server and there is no pre-existing restrictions put in place. You won't get root access with a shared hosting account.

Conclusion

I hope this guide explains why you should only use shared hosting for very small websites and why, ideally, you should get a VPN or cloud hosting account and use Wordops to manage it... and why it only need cost you as little at $5 per month. Hopefully you're excited to now get your own VPS or cloud account and setup your server so if you want, follow this link covering exactly how to do that - along with securing it, installing Wordops and other software, and then actually making your WordPress website.

It's all very easy I promise, and totally worth it!

Written by Matt

I've been running web hosting servers and building websites for myself using Wordpress for 14 years. My network of sites get a TON of traffic and I use various models to monetize them - mainly display ads and affiliate marketing. Along the way I've picked up hundreds of tips and tricks that I think would be useful for anyone looking to make a website and here is where I'm going to share them. Find me on Twitter too.

9 Comments

Leave a Reply
  1. I haven’t used shared hosting for years now, a VPS is definitely the way to go. Much more power and the prices are good, too. UpCloud is nice but I’m currently a Vultr customer, you can’t go wrong with either. If WordOps sets up Nginx rules for your domain automatically then it becomes a really nice alternative for those new to the VPS world. Nginx can be a pain if you’ve never used it.

    • Yes, nginx definitely has a steep learning curve if you are trying it without the help of something like Wordops. I have also heard good things about Vultr

    • I agree, UpCloud restricts you to GDPR and only has datacenter in Finland and Germany so Vultr is better for most companies. Also if you want the lighter stack (no Python or control panel bloat) you should try SlickStack with Vultr, using normal Bash commands so if you know Bash already it is easier learning curve too.

  2. I’ve actually just ditched cPanel shared hosting last week. Right now, I’m using Centminmod which is a CLI-based manager. It installs a LEMP stack which is nice but I’m having trouble getting to grips with it. I’ll give WordOps a try instead as I definitely want to stay away from Apache. After experiencing the speed of Nginx, I can’t ever go back! A web control panel is nice to have but not essential for me.

    • That's a good point about the web-based control panel - just something you'll have to get used to with WordOps if you decide to try it!

  3. Some shared hosting can be good if you pay a premium. I’ve seen some offer Litespeed, MariaDB 10, PHP 7.x and so on, but at that point, you may as well get your own VPS and customize everything you need. Just a few guides will help you secure a server for the first time. I’m glad I took the plunge otherwise I’d be paying 10x more for managed hosting still.

    • Very wise advice, especially on the managed hosting. Totally unnecessary IMO if you are prepared to spend a little time following some guides and are keen to learn! Once you are property setup there is very little that can go wrong.

  4. I fall kind of in the middle here. Shared hosting is definitely not for me but I do still enjoy using a web control panel. There are plenty of good free choices such as VestaCP and Webmin. I avoid cPanel like the plague, it locks down your system far too much and is Apache only I believe. Not good.

Leave a Reply

Your email address will not be published. Required fields are marked *

Understanding Software Installation (configure, make, make install)

Server Setup Steps - SSH Keys, Firewall & Other Tweaks