Whether you need to create a website for your online blog or e-commerce business, or you want to practice running your own servers, you’re faced with one very important choice: Should you run a server on Linux or Windows?
Most hosting services would have you start a Linux server, but is running it on Windows a better option? This guide tells you everything you need to know about Linux vs. Windows hosting. If you’re already familiar with the basics and want to learn how to administer Linux, check out Cloud Academy’s intermediate-level Linux Server Professional Learning Path.
Licensing and cost
The first difference is pretty straightforward. Windows is sold by a for-profit company, Microsoft, while Linux is open-source. This means that hosting companies that run Windows servers have to pay for a license. The hosting company will then pass that cost on to you, making Windows hosting a bit more expensive than Linux.
Linux is completely open-source and it’s free. You’ll only be paying for the hardware and services when you get a Linux hosting, not for a Windows license.
For those unfamiliar with how hosting works, you can’t run a server on the free Windows 10; you need a Windows Server Datacenter license for that.
That said, the difference in price is not huge. The lowest price you’ll pay for decent Linux hosting is about $2 per month. For Windows hosting, you’ll have to part with $4 per month.
When it comes to popularity, Unix is the leader — hands down. As of 2020, over 71% of all websites on the internet run on a Unix system. Linux, an open-source version of Unix, is used by 42.8% of all the websites that use Unix. 33% of all websites run on one of the major Linux distros, and other Unix systems like BSD, Darwin, Solaris, and Minix only serve 0.1% of all websites.
The best guess is that those unidentified systems are either advanced Linux distros or were simply not mentioned on the host websites. Even if they aren’t, they’re still using Unix or Linux systems, not Windows.
Windows is only used by 28% of the websites. Here’s a graph by W3Techs to visualize that.
Note that this graph shows that Windows is used by websites with higher traffic. Linux, however, isn’t that far behind. Some of the biggest websites run on it (Wikipedia being one example).
Why is Linux so popular that it beats Windows almost 3 to 1 when it comes to usage stats? Apart from Linux being free, this system has been around for a while and now has simple and intuitive management tools.
Unlike when using Linux as a personal OS, you don’t need to be a programmer to use Linux hosting. To create a personal website, it’s as simple as generating a name, creating a website on WordPress, and publishing it. Naturally, many people have done this, resulting in huge numbers of websites hosted on Linux.
Even if you don’t host a website on WordPress directly, Linux CPanel is a very intuitive piece of software.
So far, technology is the most important difference between Linux and Windows hosting. Linux uses custom software and supports most programming languages, while Windows uses specific Microsoft software to run and manage data.
Linux works on MySQL, while Windows servers use MSSQL. Windows hosting also uses Microsoft ASP.NET as the main programming language. These are not very wide-spread technologies, and most beginner programmers would have to invest considerable time to master them.
Windows Server Datacenter and MSSQL are mostly used in large corporations to develop proprietary servers. If you’re looking for a job in one of those, or you think your future projects may include handling legacy projects from big corporations, a Windows hosting may be a good idea. Also, if you need MSSQL or ASP.NET for your future employment or to run applications on the website, Windows is the way to go.
In most other cases, Linux should serve your needs just fine. MySQL is the most popular data management system, and it has plenty of supportive software as well. It supports PHP, Perl, and Python, which makes it accessible to developers of many backgrounds.
That said, if you’re planning to configure a Linux hosting on your own, you will need to be familiar with Apache or NGINX. If you’re a regular user and don’t need to configure the hosting on your own, Linux is one of the easiest systems to use. You just need to figure out CPanel, which is largely intuitive. There are also thousands of guides covering every aspect of CPanel if you’re having any trouble.
The last significant difference between Linux and Windows hosting is the potential to customize it. Linux is a leader here as well.
For starters, if you own a server, you can install any Linux distro there. With Windows, you can only get a licensed version of Windows Server Datacenter. This may mean nothing if you’re a beginner, but for people who know how to configure Linux distros, this is a great opportunity to make their servers more effective.
There’s a layer of easier customizability in Linux hosting. Popular website builder platforms like WordPress, Drupal, and Joomla are all built for Linux. They can work on Windows servers too, but it would require a bit of tinkering to accomplish this.
Many open-source applications that can help you customize a website or a server may not support ASP.NET as well, making Linux a better option.
Linux vs. Windows Hosting: Which should you choose?
So, what’s the final verdict? Should you choose Linux or Windows hosting? While the decision may be more complicated for many developers, here’s a quick guide to help you decide.
If you’re not a developer, you should probably go for Linux. The CPanel covers most needs that people who run e-commerce websites, blogs, or wikis may have. You also have access to customization tools that don’t require a lot of learning. And if you ever need to hire third-party help, you’ll be able to find a contractor cheaper than you would running a Windows server.
If you’re a developer, it gets a bit more complicated. For developers with a corporate background, it would make more sense to use Windows, as this is what many corporations use for internal servers, and you’re probably used to it.
For those who want to work for a corporation, running a server on MSSQL would be great practice and a positive feature on their resume. The same goes for developers who either are already familiar with ASP.NET stack or want to learn more about it for future employment.
On the other hand, if your main language is PHP, Python, or Perl, you’re probably going to be better off using Linux hosting. The same goes for technologies like MySQL, Apache, and NGINX. If you know them already or want to gain a better understanding of them, Linux is the way to go. You may have to learn about Linux and how to configure distros, but that’s not a necessity for having a good experience hosting on a Linux system. You could also go with an ordinary build.