Upstream setup with proxy and fastcgi?

Igor Sysoev igor at sysoev.ru
Mon Apr 18 18:11:42 MSD 2011


On Thu, Apr 14, 2011 at 02:15:13PM -0400, TECK wrote:
> Hi,
> 
> I plan to do a basic load balancer setup and want to understand the
> differences between fastcgi_pass and proxy_pass.
> 
> upstream  proxy  {
>     server 1.localserverip:8000;
>     server 2.localserverip:8000;
>     server 3.localserverip:8000;
>     server 4.localserverip:8000;
> }
> 
> upstream  php  {
>     server 1.localserverip:9000;
>     server 2.localserverip:9000;
>     server 3.localserverip:9000;
>     server 4.localserverip:9000;
> }
> 
> server {
>     listen publicserverip:80;
>     server_name example.com;
>     root /var/www/html;
>     index index.php index.html;
> 
>     location / {
>         proxy_pass http://proxy;
>         try_files $uri $uri/ /index.php;
>     }
> 
>     location ~ \.php$ {
>         fastcgi_pass php;
>         include fastcgi.conf;
>     }
> }
> 
> My goal is to have 2 servers as load balancers (1.localserverip and
> 5.localserverip set with heartbeat) and redirect the traffic through all
> nodes using Nginx. The site content will be identical in all servers.
> Can you let me know if using fastcgi_pass will do the same thing as
> proxy_pass, or do I have to set everything up like in the above
> configuration? I will serve static and php files through the backend.
> Following the logic it might require that I set both fastcgi_pass and
> proxy_pass into config. Could you give me a quick example so I
> understand how everything works?

Sorry, but I do not understand what you want to get.
I can only say that this location:

     location / {
         proxy_pass http://proxy;
         try_files $uri $uri/ /index.php;
     }

will not work. "try_files looks up local files, while "proxy_pass"
passes request to other server.


-- 
Igor Sysoev



More information about the nginx mailing list