Intermittent 500 errors with Nginx reverse proxy for Apache PHP FPM

neubyr neubyr at gmail.com
Thu Feb 12 07:47:49 UTC 2015


As errors are seen only when Nginx is front of Apache, I thought there is
some configuration parameter tuning needed when Nginx is in picture.

My plan is to migrate to Nginx completely, but I can't do it right now

-
N

On Wed, Feb 11, 2015 at 6:10 PM, Steve Holdoway <steve at greengecko.co.nz>
wrote:

> If the apache access logs are showing a 500, then it's pointing to a PHP
> problem isn't it??? What's in the php-fpm logs?
>
> BTW if you're running php as fpm, why are you using apache at all? I
> certainly don't.
>
> Cheers,
>
>
> Steve
>
> On Wed, 2015-02-11 at 16:07 -0800, neubyr wrote:
> >
> > I have Nginx as reverse proxy in front of Apache. Nginx is handling
> > most of the redirects and static content. Apache is handling PHP
> > requests using fastcgi php-fpm. This setup is giving intermittent 500
> > errors, however, there are no errors when Apache is serving traffic
> > directly.
> >
> >
> > Below are some key parameters:
> >  * Apache is using worker MPMs.
> >   ServerLimit          2048
> >   ThreadLimit           100
> >   StartServers           10
> >   MinSpareThreads        30
> >   MaxSpareThreads       100
> >   ThreadsPerChild        64
> >   MaxClients           2048
> >   MaxRequestsPerChild  5000
> >
> >
> > Nginx is using 2 worker processes and worker_connections is 1024.
> > Proxy connections are configured using proxy_pass and not upstream.
> >
> >
> >
> >
> > Keep-alive is disabled on both Apache and Nginx.
> >
> >
> > Apache access logs show 500 return code, but apache error logs don't
> > contain any information. php-fpm logs are empty as well.
> >
> >
> >
> >
> >
> > Nginx debug logs indicates:
> >
> >
> > 2015/02/10 21:21:39 [debug] 10657#0: connect to 127.0.0.1:8080, fd:60
> > #50
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http upstream connect: -2
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 posix_memalign:
> > 000000000129B290:128 @16
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 event timer add: 60:
> > 60000:1423632159180
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http finalize request: -4,
> > “/reviews/truelist?” a:1, c:2
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http request count:2 blk:0
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 post event 00000000012516A8
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 post event 0000000001251710
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 delete posted event
> > 0000000001251710
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http upstream request:
> > “/reviews/truelist?”
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http upstream send request
> > handler
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http upstream send request
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 chain writer buf fl:1 s:369
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 chain writer in:
> > 000000000129C1D8
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 writev: 369
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 chain writer out:
> > 0000000000000000
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 event timer del: 60:
> > 1423632159180
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 event timer add: 60:
> > 60000:1423632159181
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 delete posted event
> > 00000000012516A8
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http run request:
> > “/reviews/truelist?”
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http upstream check client,
> > write event:1, “/reviews/truelist”
> > 2015/02/10 21:21:39 [debug] 10657#0: *49 http upstream recv(): -1 (11:
> > Resource temporarily unavailable)
> > 2015/02/10 21:21:39 [debug] 10657#0: post event 00000000012362B0
> >
> >
> >
> >
> >
> >
> > Another thing I noticed is that http.workers have dropped from 30-40
> > workers to 2 workers with nginx. When Apache is serving traffic
> > without Nginx, there are no 500 errors, but it has more workers
> > active.
> >
> >
> >
> >
> >
> >
> > Any pointers on debugging 500 errors will be really helpful.
> >
> >
> >
> >
> > --
> > Thanks,
> > N
> >
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
>
> --
> Steve Holdoway BSc(Hons) MIITP
> http://www.greengecko.co.nz
> Linkedin: http://www.linkedin.com/in/steveholdoway
> Skype: sholdowa
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20150211/a2ca6ff2/attachment-0001.html>


More information about the nginx mailing list