cPanel Nginx support – The why, what and how
Let’s clear one thing right away – cPanel doesn’t support Nginx.
But, there are ways to make cPanel work with Nginx and thereby improve server performance.
We’ll get to that in a bit. In the meantime, if you need urgent assistance with Apache load or performance issues, click here to talk to our cPanel experts.
Why use Nginx instead of Apache in cPanel?
Apache often gets a bad rap for its poor performance in legacy versions (1.3x).
But the fact is that Apache came a long way since then. With “worker” and “event” MPMs, it functions as well as any Nginx server for the majority of websites out there.
You may only need a proper Apache optimization. Click here if you need to talk to an Apache expert.
All that said, Apache still lags when faced with huge traffic such as during seasonal eCommerce traffic, marketing campaigns, or even DoS attacks.
So, website owners sometimes contact us to replace Apache with Nginx.
Can Apache be replaced with Nginx in cPanel?
Well, in a way, yes it can be.
In fact, we’ve setup servers in which we uninstalled Apache, and setup Tomcat or Nginx in its place.
But that’ll break cPanel’s web management features such as web logs, visitor statistics, addon domains, SSL, aliases, etc., because cPanel is built to work with Apache settings.
People like SaaS app owners, who do not use cPanel interface for website management do not mind a broken cPanel interface.
But for hosting providers such as Web hosts and Digital marketers, this is not a valid solution.
So, if you use cPanel interface for website management, you’ll need Apache.
Reverse Proxy to the rescue
Luckily, there’s a work around.
Some servers such as Nginx, Varnish, etc. can work as a reverse proxy in front of Apache.
Think of it as a super-fast server that sits between the clients and the back-end server (in this case, Apache).
Visitors are happy with speedy content delivery. The contents come from the reverse proxy but they don’t need to know that! And also, reverse proxy caches static and dynamic content. This in turn reduces the load on back-end server.
It’s a win-win for all.
Some of the web servers used as reverse proxy are Nginx, Lighttpd, Varnish, OpenLitespeed etc.
If you feel Nginx is the way to go and prefer not to waste any time, click here to talk to our experts and get reverse proxy set up for you.
Using Nginx as a Reverse Proxy
While there are other better performing reverse proxies such as Varnish out there, some cPanel owners prefers to use Nginx.
It’s not a bad choice.
Nginx comes with built-in support to be used as a reverse proxy. It has configuration provisions to receive SSL/non-SSL connections, deliver content from cache, and pass on non-cached requests to “upstream” Apache server.
All that makes it a stable first-level server under high load, and helps keep the load down.
Nginx integration into cPanel
As said above, Nginx has built in support to work as a reverse proxy.
But it’s not a drop-in replacement to Apache in cPanel.
You’ll need to configure the ports right, setup forwarding, get the log formats right, and more.
You can set it up manually, or use an Nignx plugins such as cPNignx, Nginx Admin and Engintron to do that for you.
Many prefer using a plugin because it provides a GUI interface that plugs into WHM.
For instance, Engintron plugs into WHM and provides options to inspect logs, edit configuration parameters, and check service status.
Such an interface is useful if you are not comfortable using the SSH terminal. But it is not a substitute to knowing what to do when something goes wrong (eg., Nginx crashes or SSL errors show up).
That is why many of our customers still rely on our 24/7 monitoring and emergency administration to prevent disastrous server crashes.
Sure, you do not need emergency support every day, but when you do, there’s just no alternative.
cPanel doesn’t support Nginx officially, but there are ways in which Nginx can be deployed in cPanel to boost server performance. Here we have seen why some cPanel owners prefer Nginx, and the different options to set it up.