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
Install nginx
1. Make a copy of your httpd.conf file
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
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.
3. Grab a copy of the nginx installation script:
mkdir /root/cpacct && cd /root/cpacct
cd /usr/local/src
wget http://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.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.
4. 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
Install nginx
1. Make a copy of your httpd.conf file
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
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.
3. Grab a copy of the nginx installation script:
mkdir /root/cpacct && cd /root/cpacct
cd /usr/local/src
wget http://nginxcp.com/latest/nginxadmin.tar
tar xf nginxadmin.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.
4. 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
No comments:
Post a Comment