入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

Magento 网站报错:connect() to unix:/tmp/fcgi.sock failed 处理

创建时间:2014-05-24 投稿人: 浏览次数:110


connect() to unix:/tmp/fcgi.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 66.249.65.122, server: tomtop.com, request: "POST 



/vynamic/customer/info HTTP/1.1", upstream: "fastcgi://unix:/tmp/fcgi.sock:", host: "www.tomtop.com", referrer: "http://www.tomtop.com/"


有高并发的业务,就必须要调整backlog。对于PHP而言,需要注意的有3方面:


    1、操作系统 | sysctl


    2、WEB前端 | 比如:Nginx


    3、PHP后台 | 比如:php-fpm


操作系统以CentOS为例,可通过默认配置 /etc/sysctl.conf 文件进行调整。比如:


    net.core.somaxconn = 1048576 # 默认为128


    net.core.netdev_max_backlog = 1048576 # 默认为1000


    net.ipv4.tcp_max_syn_backlog = 1048576 # 默认为1024

生效命令:

sysctl -p


WEB前端以Nginx为例,可通过默认配置 /etc/nginx/nginx.conf 文件中的监听选项来调整。比如:


    listen       80 backlog=8192; # 默认为511


PHP后台,以PHP-FPM为例,可以通过默认配置 /etc/php-fpm.d/www.conf 文件进行调整。比如:


    listen.backlog = 8192 # 默认为-1(由系统决定)


大系统下,如上3处都应该进行调整。


值得注意的是:


    PHP-FPM的配置文件中,关于listen.backlog选项的注释有些误导人:


    ; Set listen(2) backlog. A value of "-1" means unlimited.
    ; Default Value: -1


实际上如果使用默认值,很容易出现后端无法连接的问题,按老文档上的解释这个默认是200。建议此处不要留空,务必设置一个合适的值。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。