Configure Nginx as a Proxy for Apache

Posted July 3, 2014 3.1k views


I just recently setup my Nginx server config running Webmin, and Centos.

Since my setup is a fresh build. I’m wondering if I would theoretically just need to install Apache?

Where in the instructions would I find the proxy configuration?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
2 answers

and make the required config changes to my virtual host:

The root was set to the correct web directory
index.php was added on the index line
tryfiles attempts to serve whatever page the visitor requests. If nginx is unable, then the file is passed to the proxy
pass lets nginx the address of the proxied server
Finally the “location ~ /.ht {” location block denies access to .htaccess files, if Apache’s document root concurs with nginx’s one

The instructions in that tutorial proxy requests needing php on to Apachae. In this set up, Nginx is just used to serve static files.

The proxy part of you Nginx server block would look like:

       location ~ \.php$ {
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $host;

Personally, I’d just set up Nginx to serve the PHP files as well using fpm unless I had a real need for Apache.

by Justin Ellingwood
A LEMP stack (Linux, Nginx, MySQL, and PHP) is a powerful set of software that can be configured to serve dynamic sites and web apps from your server. In this guide, we will discuss how to install a LEMP stack on an Ubuntu 14.04 server.