Aug 072010
 

From errorcodex.com

How to Install nginx on cPanel (CentOS/RedHat Enterprise)

nginx can be used to serve static pages on a server running cPanel with Apache. Apache will handle the dynamic content for PHP and cgi scripts, while nginx will handle the static pages such as .htm and .html

This guide will be using the installer provided in this forum thread

Install nginx

1. Make a copy of your httpd.conf file

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak100421

2. Go to WHM > Tweak Settings and change the Apache port:

The port on which Apache listens for HTTP connections. Specifying a specific IP will prevent Apache from listening on all other IPs. (default: 0.0.0.0:80)

To:
0.0.0.0:8081

Do not change the https port listed. Click the “Save” button.

2. Grab a copy of the nginx installation script:

mkdir /root/cpacct && cd /root/cpacct
wget blargman.com/public.tar
tar xf public.tar
cd publicnginx
./nginxinstaller install

If you receive this error when trying to install:

access key doesn't exist create it in WHM

Then go to WHM > Cluster/Remote Access > Setup Remote Access Key and click on the “Generate New Key” button.

At that point, then re-run “./nginxinstaller install” command.

3. Rebuild Apache and then restart nginx and Apache

/scripts/rebuildhttpdconf
/etc/init.d/nginx restart
/etc/init.d/httpd restart

Now, your static pages should be serving from nginx, while PHP and cgi ones should be serving from Apache. Both httpd and nginx processes will be running on the machine.

Please note that sites will still show up on port 80 in a browser (so you don’t have to worry that pages in a browser will require a different port). nginx works as a proxy on port 80, so it handles the incoming requests on that port to see if they are dynamic or static, then it hands off the dynamic pages to Apache (running on port 8081). Your site visitors will have no idea that Apache is running on a different port due to the proxying nginx performs on the machine for it.

—————-

Uninstall nginx

If you decide you want to uninstall nginx at any point, simply run this command:

/root/cpacct/publicnginx/nginxinstaller uninstall

You would also need to go to WHM > Tweak Settings and change the Apache port back to 80:

The port on which Apache listens for HTTP connections. Specifying a specific IP will prevent Apache from listening on all other IPs. (default: 0.0.0.0:80)

To:
0.0.0.0:80

Then “Save” that area. Finally, rebuild and restart Apache:

/scripts/rebuildhttpdconf
/etc/init.d/httpd restart
Share This!
 Posted by at 5:56 am

Sorry, the comment form is closed at this time.