What Is Nginx?
Nginx is a reverse proxy web server that is used to serve dynamic website content and control server load.
It is open source and currently holds the title of the second most used web server, mainly due to the fact that it can handle extremely high amounts of traffic.
Nginx is pronounced 'engine X'.
History of Nginx
Development of Nginx commenced in 2002, and the founder was Igor Sysoev, a Russian developer who later took on the title of Chief Architect.
Sysoev was born in 1970 and studied at Bauman Moscow State Technical University, and still works on the project today.
The company behind Nginx, Nginx Inc, was not founded until nine years after development began.
It has offices in Moscow, Russia (where Sysoev still resides) and San Francisco, USA and offers paid technical support and consultancy.
According to Nginx Inc, the technology is responsible for serving up 40 percent of the top 10,000 sites in the world, measured in terms of traffic.
High-Profile Nginx Users
Many high-profile companies have invested in the Nginx project, from Automattic (the company behind WordPress) to MaxCDN.
It has been used in Russia for many years to facilitate speedy service on some of the country's biggest websites.
What Nginx Does Best
"I evaluated NGINX Plus and was amazed at its power. The benchmarks just blew me away. The amount of traffic that NGINX Plus can handle is unreal - even beyond our needs." - James Ridle, IT Operations Manager at Montana Interactive
NGINX as a Reverse Proxy
Nginx is a reverse proxy server. It supports the following protocols:
The reverse proxy helps to balance the load by distributing requests and caching certain types of content.
Like Apache, Nginx has a modular architecture.
Acceleration of your sites and applications is easy to achieve with Nginx. Nginx can also significantly improve your app's architecture.
Nginx Features and Functionality
That isn't it. There is more!
The tool also:
- Caches HTTP requests
- Rewrites URIs using regex
- Tracks and geolocates users
- Acts as a web server
- Provides fault tolerance
- Supports TLS/SSL, FastCGI and similar
- Lets users stream FLV and MP4
- Offers gzip compression
- Supports the incoming IPv6 system
- Provides a mail proxy with SMTP, POP3, and IMAP
- Supports virtual servers
Why Use Nginx?
While Apache uses a process-oriented approach for handling requests, Nginx uses an event-driven approach.
This makes it more scalable, and more able to handle high loads or spikes.
Using Nginx, the University of Texas at Austin is able to deliver an average response time of 200ms per application. They are currently using Nginx for load balancing, caching, and application delivery.
Developers use Nginx because it's easy on resources, making it less volatile in a web hosting environment.
There are working examples of Nginx successfully handling tens of millions of requests every day.
It can handle more than 10,000 simultaneous requests without consuming large amounts of server RAM. A trade-off is a reduced number of features.
Users of NGINX
The majority of Nginx users are working on the world's top websites, including Wikipedia, Netflix, Dropbox, Groupon, and WordPress.com.
Nginx vs Apache
|Created by||Robert McCool||Igor Sysoev|
|Owned by||Apache Software Foundation||Nginx|
|Licensing||Open Source||Open Source|
Why Choose Nginx?
Virtually every web host in the world offers the Apache web server, so Nginx may seem like an exotic choice for a website owner.
However, there are a number of reasons to choose Nginx over Apache when selecting your new web host:
- Nginx will probably scale up more efficiently than Apache
- When Apache gets overloaded, it runs out of RAM and starts using swapfiles, slowing everything down. You won't get that slowdown with Nginx
- Apache refuses requests when it starts to struggle
- Nginx is tailor-made for making virtual private servers (VPS) run faster
Developers from Groupon, Zendesk, Distil Networks, and other companies share why they chose Nginx. Factors cited include extensibility, speed, ability to scale, and versatility.
Why Choose Apache?
There are also some valid reasons to stick with Apache:
- The LAMP stack is almost industry standard among low-cost web hosts
- There's lots of support and help available
- PHP, Python and Perl support is built into Apache, so it's much easier to get started with coding
- Ruby runs faster in Apache
- Apache has a vast number of modules available to extend it, so it's compatible with far more third-party technologies
- Nginx does not support .htaccess
Using Both NGINX and Apache
Many customers choose to get the best of both worlds. They use Apache to serve up web pages while placing Nginx in front of it as a proxy server.
This gets around many of the problems with Apache while benefiting from the best of Nginx.
Nginx Server Requirements
However, you'll rarely see it offered on a shared hosting plan because users need to interact with Nginx directly for it to work.
On a shared server, this would mean granting access to everyone, which would clearly be a security risk.
Support for NGINX
Assuming you find a host that offers Nginx, your next step is to find out if it's offered from day one.
The 2 Types of Nginx Hosts You'll Find: Which One is Right for You?
Nginx is pretty popular, but Apache is still the dominant technology used on web servers.
Nginx and cPanel
A big reason for that is cPanel, the most popular control panel that web hosts offer.
Unfortunately, cPanel does not offer native Nginx support.
There are some plugins like Engintron that can be used to integrate Nginx with cPanel, but there's none that are overwhelmingly popular.
Most hosts simply don't offer Nginx support of any kind.
What do I Need to Know About Nginx Hosting Support?
Of the hosts that do support Nginx, it's usually clearly stated on their "plan" pages. When you purchase these plans, they work just like any other hosting plan you've ever used.
Most web hosts will take care of Nginx configuration and setup for you without you having to do anything.
What is the Ideal Nginx Setup?
Some of the best hosts use Apache as a web server, and then Nginx as a proxy server, in order to maximize overall server performance.
That's the ideal type of Nginx hosting to look for.
This will save you from spending too much time on your hosting, and benefit if you don't have the relevant technical knowledge.
Looking for a great deal on Nginx hosting?
SiteGround - rated #1 by our readers - provides super-fast hosting using Nginx. We've arranged for our readers to save up to 67% on SiteGround plans. Use this exclusive discount link to get this deal.
Nginx and Unmanaged Hosting
The second type of Nginx hosting is "unmanaged" hosting.
Many hosts let you purchase a virtual private server (VPS), or dedicated server, and give you root access to it.
Typically, your server will come with Apache installed, but since you have root server access, you can install whatever you'd like, including Nginx.
This gives you a lot of freedom; you can even partition your Nginx service into a Nginx virtual host in order to host multiple domains on your server.
Having complete server control makes this a good option when you're trying to host a complex site with unique requirements.
The big downside is that you are usually responsible for getting everything to work, and to keep it protected from security threats.
Even if you're a seasoned developer, this can be a pain and a lot of extra work.
You save a bit of money from the plan cost, but after accounting for your time, it'll usually work out to a similar overall cost.
Clear Support or Indirect Support?
For the sake of convenience, I recommend trying to find a web host that already supports and offers Nginx.
But if you can't find one that meets all your site requirements, find a web host that will give you root server access on a VPS or dedicated server plan.
Nginx Use: Shared Hosting, VPS, or Dedicated?
I'll make this comparison as simple as possible.
Shared Hosting and Nginx
The reason I didn't mention shared hosting in the section above is that Nginx likely won't make a significant difference at that level.
Shared hosting plans are meant for sites with low traffic, which is not ideal for seeing maximum benefit from Nginx.
Additionally, server type isn't usually the limiting factor in speed on shared plans.
VPS/Dedicated Hosting and Nginx
You can see significant performance improvements on either VPS or dedicated plans.
Most hosts don't directly support Nginx on dedicated servers; they typically leave you to handle all that by yourself.
Most of the hosting plans that support Nginx directly will be VPS hosting.
By the time you actually need Nginx, you should have a good idea of the server resources your site(s) need, which should help you decide if a VPS is sufficient (cheaper), or if you'll need to get a dedicated server.
What are the Pros and Cons of Nginx?
So what are the downsides of Nginx alongside its fruity features? Dig in and find out.
- Speed - Nginx serves static content about 2.5 times faster than Apache. That's a big speed difference.
- Scales better than Apache - Nginx handles high traffic better than Apache, another reason that it's faster.
- Requires fewer resources - Because of the way Nginx works, it requires less memory, which can help you save on hosting costs.
Cons of Nginx
- Limited options - Not many hosts offer Nginx support, so you have fewer plans to choose from.
- Weaker community - Apache has a huge community and tons of modules that make it easy to get support to do just about anything.
- Can be worse at serving dynamic content - Nginx uses third-party software to handle dynamic content requests. In some cases, it can perform worse than Apache.
My Choices: The Top Three Nginx Hosts
If you're in the market for NGINX hosts, check out my top picks:
If I had to recommend a single host for Nginx hosting a general site, I would pick SiteGround.
It's not included in the dedicated server packages by default, but you can opt to purchase performance boosters that will enable Nginx on your server.
SiteGround is well known for their SuperCacher, a custom-built cacher for WordPress, Joomla, and Drupal.
The cacher is based on Nginx reverse proxy and lets you cache static content, and also dynamic content.
Speed and Pricing
It speeds up your site in a few different important ways.
Because you're probably interested in speed if you're interested in Nginx hosting, you'll also like being able to choose from hosting your site on any of the multiple servers that SiteGround has around the world.
SiteGround has reasonable pricing and the latest technology that you'll find in a host.
As an added bonus, all plans, even the shared hosting plans, comes with a free SSL certificate (or more) through Let's Encrypt.
Liquid Web is a great Nginx host in specific conditions. There are two main ways you can use Nginx when you're hosting on Liquid Web.
The first requires no extra technical skills. Nginx is included on Liquid Web's managed WordPress plans.
These plans are very high performance, meaning they can support a ton of traffic without any page speed issues.
Because it's a managed plan, Liquid Web will take care of server maintenance, the Nginx install, and Nginx config settings.
Additionally, they'll automatically care of updates and other security threats, and they have an amazing support team if you run into issues.
Support, Technical Knowledge, and Installation
The other option requires more technical knowledge. You can purchase one of Liquid Web's plans that include root access, which is just about every other plan.
Then, using that root access, you can install and configure an Nginx server.
The catch here is that Nginx is not officially supported by Liquid Web.
While their support is amazing and will probably try to help you if you run into trouble, it's not part of the deal.
Furthermore, all Nginx security updates and issues are up to you to take care of, even on a managed plan.
In other words, get used to the following 2 terminal commands:
- sudo apt-get update
- sudo apt-get install
If you are a web developer or aspire to be one, Digital Ocean could be a great Nginx host for you.
Digital Ocean is built for developers, so don't expect the same level of hand-holding when it comes to support.
You are expected to figure out things for yourself.
That sounds bad at first, but in exchange, you get full root access to your cloud server, and great pricing that you can scale up or down depending on your resource requirements.
The full root access allows you to install either Apache or Nginx; it's up to you.
Support and Configuration
You'll have to transfer your site's files onto your Digital Ocean droplet (server), install Nginx, and customize your Nginx configuration file to work correctly.
The other big strength of Digital Ocean is that while there's no much in the way of direct support like live chat, their documentation guides and community are unmatched.
Case in point, there are multiple detailed step-by-step guides that walk you through the process of installing and configuring an Nginx web server.
If you're new to developing, expect to spend a lot of time in the Nginx error log, and to restart Nginx often.
It'll be frustrating at first, but with a little persistence and the great guides, you should find success on Digital Ocean.
Other features in Web Servers
Looking for serious Nginx hosting?
Liquid Web provides high-performance Nginx hosting with superior technical support. Use this exclusive discount link to get special pricing on their plans.
Nginx Frequently Asked Questions
- What is Nginx?
Nginx is a reverse proxy web server that is used to serve dynamic website content and control server load. It can handle extremely high amounts of traffic. Nginx is bundled with OpenBSD and distributed under a simple 2-clause licence.
- How is Nginx pronounced?
Nginx is pronounced 'engine X'.
- Is Nginx open source?
- Who makes Nginx?
The founder was Igor Sysoev, a Russian developer who later took on the title of Chief Architect. The company behind Nginx, Nginx Inc, was not founded until nine years after development began in 2002. It now has offices in Moscow, Russia and San Francisco, USA. Many high-profile companies have invested in the Nginx project, from Automattic (the company behind WordPress) to MaxCDN.
- What does Nginx do?
Nginx is a reverse proxy server. It balances load on the server by distributing requests and caching certain types of content.
Features include the caching of HTTP requests, rewriting URIs using regex, geolocating users, providing fault tolerance, supporting TLS/SSL, FastCGI and similar.
Nginx lets users stream FLV and MP4, offers gzip compression, provides a mail proxy, supports IPv6, and supports virtual servers.
- Can I use Nginx on a shared hosting account?
It's not normally offered with shared hosting, because users need to interact with Nginx directly for it to work. On a shared server, this would be a serious security risk.
- Which protocols does Nginx support?
It supports HTTP, HTTPS, SMTP, POP3, and IMAP.
- Who uses Nginx?
According to W3Techs, Nginx is used by over 41 percent of the top 1,000 websites, including Wikipedia. It has been used in Russia for many years to facilitate speedy service on some of the country's biggest sites.
- Why should I use Nginx?
Nginx handles very high server load and traffic spikes. It uses little resource, so it's stable. There are working examples of Nginx successfully handling tens of millions of requests every day, and it can handle more than 10,000 simultaneous requests without consuming large amounts of server RAM.
- Can I create .htaccess files?
No. Nginx does not support .htaccess.
- Why do people still use Apache?
Apache has a number of benefits compared to Nginx. It's installed on practically every web hosting account you'll see advertised, and the LAMP (Linux, Apache, MySQL, PHP) stack is almost industry standard. PHP, Python and Perl support is built in to Apache, and it runs Ruby runs faster than Nginx. Apache has a vast number of modules available to extend it, making it compatible with far more third party technologies.
But Apache refuses requests when it starts to run out of resources. In contrast, Nginx scales more efficiently. It's perfect for speeding up a VPS, for example.
Many customers choose the best of both worlds. They use Apache to serve up web pages, while placing Nginx in front of it as a proxy server. This gets around many of the problems with Apache, while benefiting from the advantages Nginx offers.
- What are the server requirements for Nginx?
Nginx runs on Linux, BSD, Mac OS X and a variety of other operating systems.
- What should I expect from a Nginx host?
The majority of hosts will let you install Nginx yourselv on a VPS or dedicated server. If you would rather they handled this for you, buy a managed hosting package.
- Can I run WordPress on Nginx?
Yes, in theory, but it isn't properly supported. You might run into significant issues getting everything working as it should.
- Should I install Nginx if I'm currently using Apache?
If speed and load balancing is your primary concern, it may be worth switching to Nginx. But it's not for everybody. Low-traffic websites probably won't gain much from it.