connect() php-cgi.sock failed (2: No such file or directory) 问题解决

connect() php-cgi.sock failed (2: No such file or directory) 问题解决

http://www.54rd.net/html/2014/php_1229/3.html

2339 connect() to unix: home xxx php var php-cgi sock failed (2: No such file or directory) while connecting to upstream, client: xxxx,fastcgi_pass,listen_address,nginx
在LMNP服务器架构中,配置好nginx,php服务后,访问http://127.0.0.1/index.php主页时,出现以下错误:

  1. 2339 connect() to unix:/home/xxx/php/var/php-cgi.sock failed (2: No such file or directory) while connecting to upstream, client: xxxx

出现以上问题请检查nginx和php-fpm的配置:

1.nginx配置文件nginx.conf,找到其中配置php-fpm路径的地方

  1. location ~\.php$ {
  2.     root /home/xxxx;
  3.     fastcgi_pass unix:/home/xxx/php/var/php-cgi.sock;
  4.     fastcgi_index index.php;
  5.     include fastcgi.conf;
  6. }

其中fastcgi_pass为配置nginx与php-fpm的交互路径,一般有两种方式
sock方式:fastcgi_pass    unix:/home/xxx/php/var/php-cgi.sock;
http方式:fastcgi_pass    127.0.0.1;9000;
任选其中一种即可,但必须和php-fpm的配置一致。

2.php-fpm配置文件php-fpm.conf,找到其中配置启动方式的地方

  1. <workers>
  2.     <section>
  3.     <value name=“listen_address”>127.0.0.1:9000</value>
  4.         …//省略其他配置
  5.     </section>
  6. </workers>

其中配置为127.0.0.1:9000与nginx中的配置unix:/home/xxx/php/var/php-cgi.sock不符,所以导致报错。
修改php-fpm配置为:
/home/xxx/php/var/php-cgi.sock
或者修改nginx配置为:
fastcgi_pass    127.0.0.1;9000;
都可以解决以上问题。

原文  http://www.songyawei.cn/content/4496