Issue w/ nginx in hybrid static/php load balancer scenario
Igor Sysoev
is at rambler-co.ru
Mon Feb 11 09:50:26 MSK 2008
On Sun, Feb 10, 2008 at 03:14:36PM -0500, Kiril Angov wrote:
> Why don't you put
>
> location ~ \.php$ {
> fastcgi_pass php-fcgi-pool;
> }
>
> before "location /" so that it can match first?
No. See the processing order:
http://wiki.codemongers.com/NginxHttpCoreModule#location
> Kupo
>
> On Feb 10, 2008 1:51 AM, Mike Javorski <mike.javorski at gmail.com> wrote:
>
> > Thanks Denis. The problem w/ your solution is there is lots of
> > directories. I don't want to have to create entries for each. I
> > suppose I could to a regex for .*/$ but some of the directories have
> > index.html instead of index.php, and I need to support that as well
> > :-(.
> >
> > Any other options/suggestions?
> >
> > - mike
> >
> > On Feb 9, 2008 10:42 PM, Denis F. Latypoff <denis at gostats.ru> wrote:
> > > Hello Mike,
> > >
> > >
> > > Sunday, February 10, 2008, 12:32:14 PM, you 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;
> > > + }
> > >
> > > + location = /blah/ {
> > > + fastcgi_pass php-fcgi-pool;
> > > + }
> > >
> > >
> > > > location ~ \.php$ {
> > > > fastcgi_pass php-fcgi-pool;
> > > > }
> > > > }
> > > > }
> > >
> > >
> > >
> > > --
> > > Best regards,
> > > Denis mailto:denis at gostats.ru
> > >
> > >
> > >
> >
> >
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list