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 [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
