Issue w/ nginx in hybrid static/php load balancer scenario

Igor Sysoev is at rambler-co.ru
Mon Feb 11 09:49:01 MSK 2008


On Sat, Feb 09, 2008 at 10:32:14PM -0800, Mike Javorski wrote:

> I have nginx set up as a load balancer in front of two machines
> running fastcgi/php, and nginx for static content. The desired goal is
> to have all php pages (including the site index pages of .*/index.php)
> processed by the fastcgi/php upstream, and everything else provided by
> the static servers. The following is what I have and what I believe
> should have worked, but it appears to run all directory paths via the
> static rule, rather than the php rule which matches the index.
> 
> To sum up:
> / -- via static system (WRONG)
> /index.php -- via fastcgi/php system (RIGHT)
> /blah/ -- via static system (WRONG)
> /blah/index.php -- via fastcgi/php system (RIGHT)
> 
> nginx version is 0.6.25, Help! :-)
> 
> tia,
> 
> - mike
> 
> My Config File (the relevent bits anyway):
> ---------------------------------------------------
> 
> http {
>     upstream  static-pool {
>         server  192.168.7.40:80;
>         server  192.168.7.41:80;
>     }
> 
>     upstream php-fcgi-pool {
>         server  192.168.7.40:7000;
>         server  192.168.7.41:7000;
>     }
> 
>     server {
>         listen  80;
>         root    /website/htdocs;
>         index   index.php;
>         fastcgi_index   index.php;
>         include     /etc/nginx/fastcgi_params;
> 
>         location / {
>             proxy_pass http://static-pool/website/htdocs/;
>         }

+         location ~ /$ {
+             fastcgi_pass    php-fcgi-pool;
+         }

Then all "..../" will be handled by php-fcgi-pool.

>         location ~ \.php$ {
>             fastcgi_pass    php-fcgi-pool;
>         }
>     }
> }


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list