NGINX (pronounced as “Engine-X”) is an open-source web server software that also functions as a reverse proxy, load balancer, and HTTP cache. It was created by Igor Sysoev and publicly released in 2004. Today, NGINX is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.
Unlike traditional servers, NGINX uses an asynchronous, event-driven approach to handle requests. This architecture enables it to deliver high performance with fewer resources, especially under heavy load. It’s particularly adept at serving static content quickly and efficiently, making it an ideal choice for websites with high traffic volume.
On the other hand, Apache, another widely-used web server software, operates based on a process-driven approach. Each request for a web page or resource starts a new thread or process, which can consume significant system resources, especially under high traffic. Although Apache is known for its power and flexibility, it can be less efficient than NGINX when serving static content under heavy load.
Table of Contents
Installing NGINX on a cPanel Host
The integration of NGINX and cPanel is not natively supported. cPanel uses Apache as the default web server. But worry not! With a little bit of manual configuration, you can still make NGINX work alongside cPanel. Please note, this guide assumes you have root access to your server and a basic understanding of command-line interface.
Step 1: Backup Your Server
Before making significant changes, it’s always wise to back up your server. You can do this through cPanel’s backup feature, or using the command line.
Step 2: Install Engintron
Engintron is a third-party cPanel plugin that integrates NGINX into your existing cPanel setup. It acts as a reverse proxy, forwarding requests from clients to Apache, the backend server. To install Engintron, log in to your server as root and execute the following commands:
cd /; rm -f engintron.sh; wget --no-check-certificate https://raw.githubusercontent.com/engintron/engintron/master/engintron.sh; bash engintron.sh install
Step 3: Configure Engintron
Once installed, Engintron can be accessed and configured through the WHM (Web Host Manager) interface. Go to WHM > Plugins > Engintron for cPanel/WHM > Engintron App Dashboard. Here you can monitor NGINX’s performance and tweak settings if necessary.
Step 4: Test NGINX Installation
To ensure NGINX is working correctly, you can check the headers returned by your server. Use the curl command as follows:
curl -I http://yourdomain.com
In the response headers, if you see the line “Server: nginx,” it means NGINX is successfully installed and serving your website.
In summary, while NGINX isn’t supported natively on cPanel, with the help of Engintron, you can harness its power and efficiency. By following the steps outlined above, you can seamlessly integrate NGINX into your cPanel setup, benefiting from its superior static content delivery and high traffic handling capabilities.
What is Engintron?
Engintron is a powerful, open-source tool designed to integrate NGINX on cPanel servers. Created by Fotis Evangelou in 2016, it’s designed to act as a reverse proxy to Apache, improving the overall performance of the server by optimizing resource usage. Engintron accomplishes this by leveraging NGINX’s ability to handle high traffic and serve static content efficiently. The software is easy to install and comes with a comprehensive web-based GUI, making it accessible for users to monitor performance and adjust settings. Today, it’s widely used among cPanel users seeking to optimize their server’s performance with NGINX.
Further Reading
- NGINX Official Documentation: This is an excellent resource for understanding NGINX and its features, directly from the source. https://nginx.org/en/docs/
- Engintron Official GitHub Repository: This repository provides the official source code for Engintron, along with installation guides, FAQs, and a discussion area for issues. https://github.com/engintron/engintron
- Apache vs. NGINX Comparison: This article provides a detailed comparison between Apache and NGINX, two of the most popular web servers. https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations