How to install Nginx in cPanel server
“I just want to let you know that next week we should be getting higher amount of traffic to our site… Do you think our site can handle if there are 4000 sessions within an hour?”
Recently we were contacted by a server owner who wanted to improve his web server performance to handle 4000 requests in 60 minutes.
The customer had a cPanel server. In our role as Technical Support Services for web hosting companies, reviewing and configuring suitable infrastructure for their business, is a major task we do.
Today, we’ll see how we helped him ensure stable performance in his cPanel server with the help of Nginx web server.
Installing Nginx in cPanel server for better performance
The default web server in cPanel servers is Apache. But Apache has its limitations. The memory and CPU usage incurred by Apache is very high.
When huge number of simultaneous requests come in, Apache will not be able to handle it. The server resources would get depleted in split-seconds, causing server to crash.
We did a stress test on the Apache web server and could see that it cannot handle 4000 requests. To handle the spike in traffic, we decided to install Nginx in cPanel server.
Nginx is a powerful web server that handles static contents faster and without incurring much resources. But it cannot handle dynamic requests such as PHP.
The ideal configuration we install is reverse proxy server. Nginx is configured as the front end and serve static pages quickly, which boosts up site loading speed by over 50%.
Dynamic requests are transferred to Apache in the backend. Apache server processes the dynamic contents and hand over pages to Nginx to show in the website.
How to install Nginx in cPanel server
cPanel does not provide support to Nginx web server. But we can configure Nginx by installing 3rd party plugins in cPanel server and managing them via WHM interface.
Some of the commonly installed Nginx plugins in cPanel servers are:
Installing and configuring these plugins is an easy task, and you can integrate Nginx to your server. The WHM Plugins interface provides option to restart the service and add custom configuration settings.
Further tweaks such as configuring the ports for Nginx and Apache for reverse proxy setup is performed. For domains using Cloudflare or custom proxy, the rules are updated to reflect those IPs.
Install Nginx in cPanel – the aftermath!
While these plugins allow easy integration of Nginx into existing Apache setup, we have noticed a few hiccups that are related to them.
- AutoSSL and SSL may break in some cases.
- Websites with CloudFlare could experience redirect loops.
- Awstats results may be incorrect and show issues.
- HTTP/2 not supported in older versions of plugin.
In certain scenarios, we have noticed that these environmental changes could cause unexpected issues in the behaviour of some websites, especially ones with too many redirects or custom plugins.
But we work around these issues with and solve the majority of the issues arising from Nginx installation. We also keep the plugin and web server versions to the latest available ones, for security and feature list.
After configuring Nginx in the server to work as reverse proxy with Apache, we could see considerable improvement in the speed and performance of web sites.
Nginx served as reverse proxy for static files (CSS, JS, images, etc.). It also played its role as an additional micro-cache layer to Apache web server, which further improved the performance of dynamic content.
Today we’ve discussed how our Dedicated Support Engineers install Nginx in cPanel to speed up server performance. We also use caching server alongside web server to further improve site loading speed.