CONNECT() TO UNIX:/TMP/PHP-CGI.SOCK FAIL

引用:

http://www.cuizhipeng.com/2016/04/13/connect-to-unixtmpphp-cgi-sock-failed-11-resource-temporarily-unavailable-while-connecting-to-upstream/

页面突然显示502 看了看nginx日志显示这个

connect() to unix:/tmp/php-cgi.sock failed (11: Resource temporarily unavailable) while connecting to upstream

sock 资源暂时不可用,肯定是和sock有关

有三个解决方案

第一个把php-fpm配置文件的listen.backlog参数从-1该为1024或者4096 两个参数的差别我暂时还不知道。

然后reload一下。

第二个方法就是不用sock方法,用TCP

把php-fpm的配置文件中

把listen = /tmp/php-cgi.sock
改成listen = 127.0.0.1:9000

nging配置文件中

把fastcgi_pass  unix:/tmp/php-cgi.sock;
改成fastcgi_pass  127.0.0.1:9000;

php-fpm和nginx都reload一下,应该就OK了

第三种

用两个php-fpm 用两个sock nginx负载均衡

复制一份配置文件

修改里边的pid sock

cp /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm2.conf

[global]

pid = /usr/local/php/var/run/php-fpm2.pid

error_log = /usr/local/php/var/log/php-fpm2.log

log_level = notice

[www]

listen = /tmp/php-cgi2.sock

复制一个启动文件,也修改相关的信息

cp /etc/init.d/php-fpm /etc/init.d/php-fpm2

php_fpm_BIN=${exec_prefix}/sbin/php-fpm

php_fpm_CONF=${prefix}/etc/php-fpm2.conf

php_fpm_PID=${prefix}/var/run/php-fpm2.pid

启动

/etc/init.d/php-fpm2 start

nginx 配置文件

增加 upstream模块

upstream backend{

   server unix:/tmp/php-cgi.sock;

   server unix:/tmp/php-cgi2.sock;

  }

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

改成       fastcgi_pass  backend;

重新加载

/etc/init.d/nginx -s reload


回复列表



回复操作

正在加载验证码......

请先拖动验证码到相应位置

发布时间:2016-10-27 16:55:23

修改时间:2016-11-16 14:19:45

查看次数:393

评论次数:0