<div dir="ltr"><div style>The changelog of nginx 1.3.12 mentions a b<span style="font-family:arial,sans-serif;font-size:12.800000190734863px">ugfix in the "fastcgi_keep_conn" directive. Therefore I decided to give this feature a try.</span></div>
<div><br></div><div style>Snippet from nginx.conf:</div><div style><br></div><div style><div>        fastcgi_keep_conn on;<br></div><div><br></div><div>        upstream php {</div><div>                server <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;</div>
<div>                keepalive 6;</div><div>        }</div></div><div><br></div><div style>Snippet from php-fpm.conf:</div><div style><br></div><div style>        listen = <a href="http://127.0.0.1:9000">127.0.0.1:9000</a><br>
</div><div style>        pm = static<br></div><div style>        pm.max_children = 4<br></div>        pm.max_requests = 5 # very low for demo purpose<br><div><br></div><div style>Now I run the following command:</div><div>
 </div><div>while true; do wget <a href="http://localhost/test.php">http://localhost/test.php</a> -O- > /dev/null; done<br></div><div><br></div><div style>After 5 requests (pm.max_requests = 5) wget hangs and nginx logs the following error:</div>
<div style><br></div><div style>2013/02/06 10:47:09 [error] 6795#0: *6 readv() failed (104: Connection reset by peer) while reading upstream, client: ::ffff:127.0.0.1, server: localhost, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://<a href="http://127.0.0.1:9000">127.0.0.1:9000</a>", host: "localhost"<br>
</div><div style><br></div><div style>It seems that nginx cannot cope with a restarting php-fpm process. Anything I can do?</div><div style><br></div><div style>Thanks,</div><div style>Steffen</div></div>