osob.de Unicorn Logo
Blogpost overview

When nginx cannot connect to the your php fpm sock | 07.12.2020

<p>Today was one of those days when I got an error on my play server out of nowhere. I hadn't changed much in the last few days, so I was a little confused about that. One of the websites was unable to work. I received a <a href="https://tools.ietf.org/html/rfc2616#section-10.5.3">502 Bad Gateway</a> error. The error log from Nginx showed the following:</p> <p><code><code></code></code></p> <pre>2020/12/07 20:22:00 [crit] 1846#1846: 5 connect() to unix:/var/run/php/example.sock failed (2: No such file or directory) while connecting to upstream, client: 89..., server: example.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/website.sock:", host: "www.website.de" 2020/12/07 20:22:00 [crit] 1846#1846: 5 connect() to unix:/var/run/php/example.sock failed (2: No such file or directory) while connecting to upstream, client: 89..., server: example.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/example.sock:", host: "www.example.com" 2020/12/07 20:22:01 [crit] 1846#1846: 5 connect() to unix:/var/run/php/example.sock failed (2: No such file or directory) while connecting to upstream, client: 89..., server: example.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/example.sock:", host: "www.example.com" 2020/12/07 20:22:47 [crit] 1878#1878: 127 connect() to unix:/var/run/php/example.sock failed (2: No such file or directory) while connecting to upstream, client: 89..., server: example.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/example.sock:", host: "www.example.com" 2020/12/07 20:23:45 [crit] 1878#1878: 147 connect() to unix:/var/run/php/example.sock failed (2: No such file or directory) while connecting to upstream, client: 207..., server: example.com, request: "GET /2017-April-Marek-Konwa HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/example.sock:", host: "www.example.com" 2020/12/07 20:24:24 [crit] 1878#1878: 288 connect() to unix:/var/run/php/example.sock failed (2: No such file or directory) while connecting to upstream, client: 36..., server: example.com, request: "GET /video-277.html?fbclid=IwAR2j2xofNyjzUh0hbnweMESDGhYIdC0qMn1IR5qDln8vktcedR-6LPv_k68 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/example.sock:", host: "www.example.com", referrer: "https://l.facebook.com/"</pre> <p>

You like what you find here? A donation helps to keep this project running.

</p> <p>First, I checked the sockets and found ... nothing:</p> <p><code><code></code></code></p> <pre>root@play:~# ls -lsa /var/run/php/ total 3 0 drwxr-xr-x 2 https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/#socket-leaks&quot;&gt;https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/w-r--r-- 1 root root 4 Dec 7 20:27 php7.2-fpm.pid 0 srw-rw---- 1 https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/#socket-leaks&quot;&gt;https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/t;https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/#socket-leaks">https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/#socket-leaks</a>), I rethought my changes in the last few days. I had just added a subdomain to example.com (subdomain dev.example.com). I isolated the dev with their own PHP pool. The directions and permissions were correct. While I reviewed the pool configs, I realized that I had named the pools the same. dev.example.com AND example.com were configured under [example]. And that was the problem. PHP was still able to start, but instead of throwing an error, the two configs (with different sockets) were running under the newer sock (dev.example.sock).</p> <p>The fix: just change the name of the pool (now I had two pools [dev.example] and [example]) and restart the PHP service. That's it.</p>