Engintron: cPanel plugin for installing Nginx web server as a reverse proxy
In this tutorial we will learn about “Engintron” – which is a cPanel plugin for installing Nginx web server as a reverse proxy.
Why Reverse Proxy
By default, cPanel uses the Apache webserver to serve websites. Apache currently reigns as the best server for websites. The reasons for apache server’s popularity is well documented. Apache’s power and the ability to serve Perl and Python. However, Apache servers carries some drawbacks. Apache contains high memory footage. Nginx is another powerful open source web server that is faster and consumes less RAM. Nginx does not have the ability to process dynamic content natively. To handle PHP and other requests for dynamic content, Nginx must pass the request to an external processor for execution and wait for the content to be sent back which can then be relayed to the client.
An effective method used by the administrators is the reverse proxying method. Here Nginx is served as a static web server front and Apache processing the back end utilizing the advantages of two web servers to great effect. Nginx acts as a web traffic proxy serving all static contents like CSS, JS, images etc. by default. This significantly reduces the CPU/RAM resources consumed by Apache. Apache serves the dynamic contents like PHP, PERL, etc.
Nginx on cPanel
It is very disappointing that there is no Nginx support from the leading hosting control panel worldwide. cPanel doesn’t have stand-alone Nginx support as an alternative to Apache also Nginx proxied to Apache. However, we can make use of the third-party plugins for our requirement. There are few plugins available like Engintron, Nginxadmin, nDeploy etc.
Engintron: Nginx on cPanel
Engintron is the easiest way to integrate Nginx to your cPanel server. Installation process is not very complicated for Engintron. Also, installation and updates are very fast, they take only a few seconds. Engintron is using the official repositories for Nginx, all Engintron software is updated whenever cPanel is updated. If something has changed on Engintron and you need to re-install it, you can install it on top of the previous installation. You don’t need to uninstall it first like other Nginx installer plugins for cPanel. It works from CentOS 5 up to CentOS 7. Engintron has an app dashboard inside WHM. The interface has basic controls for Nginx, Apache, MySQL. These controls allow you to edit various configuration files. Inside the Engintron app dashboard you’ll also find some utilities to monitor things like Nginx access & error logs, check processes on your server or see incoming traffic on port 80. It doesn’t require Nginx or Apache host synchronization when adding new domains via cPanel. Also, Engintron is released under the GNU/GPL license and is 100% open source.
Installation of Engintron plugin
Installation takes only few minutes and is not a complicated process. Engintron is compatible with both 32 or 64 bit CentOS 5,6,7 also on CloudLinux versions 6 and 7. It is supported with EasyApache 3 And 4.
For installing Engintron you will need to have root SSH access to your cPanel server. Login 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
Installation process downloads the Engintron installation script ‘engintron.sh’ and execute it.
For updating or re-installing Engintron use the Engintron dashboard inside the WHM or can repeat the installation procedure. Engintron keeps the backup of the main 5 configuration files of Nginx. Login as root and navigate to Nginx’s files to get the backups of the configuration files.
$ cd /etc/nginx
$ cat nginx.conf.bak
$ cat proxy_params_common.bak
$ cat proxy_params_dynamic.bak
$ cat proxy_params_static.bak
$ cat conf.d/default.conf.bak
Using these files your previous changes can be copied to the new configuration files installed.
For uninstalling Engintron login to your server as Root and execute the below command.
$ bash /engintron.sh remove
This will remove Engintron completely from your server including the configuration files and Engintron app dashboard. Also, the Apache will be reverted back to work properly on the port 80 which was early instructed to work on port 8080.
If you need any further assistance please contact our support department.