php-cgi.sock错误

ZHAO_JH · · 47 次点击 · · 开始浏览    

错误信息展示

注意:【PHP52版本】和【PHP54版本以上不同】,以下为52版本示例,54以上版本最后说明

connect() to unix:/tmp/php-cgi.sock failed (2: No such file or directory) while connecting to upstream

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

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

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

其中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,找到其中配置启动方式的地方

<workers>  
    <section>  
    <value name="listen_address">127.0.0.1:9000</value>   
        ...//省略其他配置  
    </section>  
</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;

都可以解决以上问题。

【54以上版本说明】

54版本中默认端口为9001,修改端口或者修改成php-cgi.sock方式即可

php-fpm.conf中

listen = 127.0.0.1:9001

listen = /tmp/php-cgi-54.sock
listen.owner = www

==注意:这里www替换成你预设的nginx访问用户==

nginx.conf中

fastcgi_pass    127.0.0.1:9001;

fastcgi_pass unix:/tmp/php-cgi-54.sock;

本文来自:开源中国博客

感谢作者:ZHAO_JH

查看原文:php-cgi.sock错误

47 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet