# Deployment Architecture for Nginx Reverse/Caching/Load Balancing with Puppet

**URL:** <https://www.ruby-forum.com/t/deployment-architecture-for-nginx-reverse-caching-load-balancing-with-puppet/199934>\
**Category:** NGINX\
**Created:** [December 1, 2010, 6:11pm UTC](https://www.ruby-forum.com/t/deployment-architecture-for-nginx-reverse-caching-load-balancing-with-puppet/199934 "2010-12-01T18:11:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dobai-Pataky\_BSSSSl](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/77aa72/32.png) [@Dobai-Pataky\_BSSSSl](https://www.ruby-forum.com/u/Dobai-Pataky_BSSSSl)\
**Post date:** [December 1, 2010, 6:11pm UTC](https://www.ruby-forum.com/t/deployment-architecture-for-nginx-reverse-caching-load-balancing-with-puppet/199934/1 "2010-12-01T18:11:09Z")

</div>

Hello,

We are installing nginx for the first time. Could someone please  
comment on the deployment architecture we selected.

Is the architecture illustrated below the best one to meet the following  
objectives:

- A physical host with a single public IP address must be virtualized  
into many virtual servers. These virtual servers run Apache and must be  
reachable from the single public IP.
- Static content from the virtual servers must be cached
- One of the virtual servers runs Puppet server. We wish to optimize  
Puppet server performance by using caching and load balancing of the  
backend Mongrel servers.

The architecture to meet these objectives is illustrated below. In this  
design:

- Nginx for reverse proxy and caching proxy runs on a virtual server  
and answers all requests from the public IP address. As a reverse  
proxy, nginx routes requests to the appropriate virtual server. It also  
serves static content from these virtual servers.
- On the virtual server running puppet, we use a second instance of  
nginx, which is configured with the Fair Load Balancer to serve requests  
to the Mongrel servers.

Is this the optimal configuration of nginx for these objectives? Could  
the above objectives be met with only a single instance of nginx?

![](http://jaroker.com/nginx/nginx_deploy.png)

Any comments or suggestions would be greatly appreciated.

Thank you,  
Jon

Posted at Nginx Forum:

> **[Deployment Architecture for Nginx Reverse/Caching/Load Balancing with Puppet](https://forum.nginx.org/read.php?2,154806,154806#msg-154806)**
>
> Hello, We are installing nginx for the first time. Could someone please comment on the deployment architecture we selected. Is the architecture illustrated below the best one to meet the following objectives: - A physical host with a single public IP...
