php - 失败(104 : Connection reset by peer)

标签 php nginx

我们正在使用php5-fpm和nginx。

#nginx -v
nginx版本:nginx/1.1.19


*

#php -v
带有Suhosin-Patch(cli)的PHP 5.3.27-1〜dotdeb.0(内置:2013年7月25日19:30:39)
版权所有(c)1997-2013 The PHP Group
Zend Engine v2.3.0,版权所有(c)1998-2013 Zend Technologies
与Xdebug v2.2.3,版权(c)2002-2013,作者Derick Rethans

*

出现以下错误,

2013/08/21 20:00:20 [错误] 12740#0:* 46 recv()失败(104:对等连接重置),同时从上游读取响应 header ,客户端:172.17.7.12,服务器:fe.test。本地,请求:“GET/search?gender = female&ageFrom = 20&ageTo = 32&religionId =&casteId =&countryId =&heightFrom =&heightTo =&profileImageStatus =%28y + p%29&search = Search HTTP/1.1”,上游:“fastcgi://unix:/var/run/php5-fpm.sock:“,主机:” fe.test.local“,引荐来源网址:” http://fe.test.local/

PHP5-FPM配置,

#grep ^ [^\;]/etc/php5/fpm/php-fpm.conf

[全局的]
pid =/var/run/php5-fpm.pid
error_log =/var/log/php5-fpm.log
log_level =通知
process_control_timeout = 30
包括=/etc/php5/fpm/pool.d/*。conf


#grep ^ [^\;]/etc/php5/fpm/pool.d/www.conf
[万维网]
听=/var/run/php5-fpm.sock
listen.backlog = -1
用户= www-data
组= www-data
pm =动态
pm.max_children = 10
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
rlimit_files = 131072
rlimit_core =无限
chdir =/

Nginx fascgi配置部分

位置〜\.php $
{
fastcgi_index index.php;
包括fastcgi_params;
fastcgi_connect_timeout 120;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffers 8 256k;
fastcgi_buffer_size 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
client_max_body_size 20M;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass Unix:/var/run/php5-fpm.sock;
}


#strace -f -s 8000 -p 12761
附加的过程12761-中断退出
epoll_wait(9,{},1,944)= 0
epoll_wait(9,{},1,1000)= 0
epoll_wait(9,{},1,1000)= 0
epoll_wait(9,269f530,1,1000)= -1 EINTR(系统调用中断)
--- SIGCHLD( child 退出)@ 0(0)-
write(6,“C”,1)= 1
rt_sigreturn(0x6)= -1 EINTR(系统调用中断)
epoll_wait(9,{{EPOLLIN,{u32 = 15427040,u64 = 15427040}}},1,122)= 1
read(4,“C”,1)= 1
wait4(-1,[{{WIFEXITED(s)&& WEXITSTATUS(s)== 127}],WNOHANG | WSTOPPED,NULL)= 12826
write(3,“[2013年8月21日19:33:37]警告:[池www]子项12826在从开始运行275.844033秒后以代码127退出\”“,112)= 112
克隆(附加了处理13832(正在等待父进程)
恢复了过程12832(父12761准备就绪)
child_stack = 0,标志= CLONE_CHILD_CLEARTID | CLONE_CHILD_SETTID | SIGCHLD,child_tidptr = 0x7fd7a31cfa10)= 12832
[pid 12832] set_robust_list(0x7fd7a31cfa20,0x18)= 0
[pid 12832] dup2(1,2)= 2
[pid 12832] close(3)= 0
[pid 12832] dup2(7,0)= 0
[pid 12832] geteuid()= 0
[pid 12832] setrlimit(RLIMIT_NOFILE,{rlim_cur = 128 * 1024,rlim_max = 128 * 1024})= 0
[pid 12832] setrlimit(RLIMIT_CORE,{rlim_cur = RLIM_INFINITY,rlim_max = RLIM_INFINITY})= 0
[pid 12832] chdir(“/”)= 0
[pid 12832] setgid(33)= 0
[pid 12832] open(“/proc/sys/kernel/ngroups_max”,O_RDONLY)= 3
[pid 12832] read(3,“65536\n”,31)= 6
[pid 12832] close(3)= 0
[pid 12832] open(“/etc/group”,O_RDONLY | O_CLOEXEC)= 3
[pid 12832] lseek(3,0,SEEK_CUR)= 0
[pid 12832] fstat(3,{st_mode = S_IFREG | 0644,st_size = 777,...})= 0
[pid 12832] mmap(NULL,777,PROT_READ,MAP_SHARED,3,0)= 0x7fd7a31c1000
[pid 12832] lseek(3,777,SEEK_SET)= 777
[pid 12832] fstat(3,{st_mode = S_IFREG | 0644,st_size = 777,...})= 0
[pid 12832] munmap(0x7fd7a31c1000,777)= 0
[pid 12832] close(3)= 0
[pid 12832] setgroups(1,[33])= 0
[pid 12832] setuid(33)= 0
[pid 12832] prctl(PR_SET_DUMPABLE,1)= 0
[pid 12832] close(4)= 0
[pid 12832] close(6)= 0
[pid 12832] rt_sigaction(SIGTERM,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12832] rt_sigaction(SIGINT,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12832] rt_sigaction(SIGUSR1,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12832] rt_sigaction(SIGUSR2,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12832] rt_sigaction(SIGCHLD,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12832] rt_sigaction(SIGQUIT,{0x7633f0,[],SA_RESTORER | SA_RESTART,0x7fd7a02234a0},NULL,8)= 0
[pid 12832] close(7)= 0
[pid 12832] accept(0,
[pid 12761] write(3,“[2013年8月21日19:33:37]注意:[pool www] child 12832已启动\n”,62)= 62
[pid 12761] wait4(-1,0x7fff07258a7c,WNOHANG | WSTOPPED,NULL)= 0
[pid 12761] read(4,0x7fff07258b5f,1)= -1 EAGAIN(资源暂时不可用)
[pid 12761] epoll_wait(9,{},1,108)= 0
[pid 12761] epoll_wait(9,{},1,1000)= 0
[pid 12761] epoll_wait(9,269f530,1,1000)= -1 EINTR(系统调用中断)
[pid 12761] --- SIGCHLD( child 退出)@ 0(0)-
[pid 12761] write(6,“C”,1)= 1
[pid 12761] rt_sigreturn(0x6)= -1 EINTR(系统调用中断)
[pid 12761] epoll_wait(9,{{EPOLLIN,{u32 = 15427040,u64 = 15427040}}},1,769)= 1
[pid 12761] read(4,“C”,1)= 1
[pid 12761] wait4(-1,[{WIFEXITED(s)&& WEXITSTATUS(s)== 127}],WNOHANG | WSTOPPED,NULL)= 12830
[pid 12761] write(3,“[2013年8月21日19:33:39]警告:[pool www]子级12830在距开始10.053632秒后退出,代码127\”“,111)= 111
[pid 12761]克隆(附加了处理12833
child_stack = 0,标志= CLONE_CHILD_CLEARTID | CLONE_CHILD_SETTID | SIGCHLD,child_tidptr = 0x7fd7a31cfa10)= 12833
[pid 12761] write(3,“[2013年8月21日19:33:39]注意:[pool www] child 12833开始\n”,62)= 62
[pid 12761] wait4(-1,0x7fff07258a7c,WNOHANG | WSTOPPED,NULL)= 0
[pid 12761] read(4,0x7fff07258b5f,1)= -1 EAGAIN(资源暂时不可用)
[pid 12761] epoll_wait(9,
[pid 12833] set_robust_list(0x7fd7a31cfa20,0x18)= 0
[pid 12833] dup2(1,2)= 2
[pid 12833] close(3)= 0
[pid 12833] dup2(7,0)= 0
[pid 12833] geteuid()= 0
[pid 12833] setrlimit(RLIMIT_NOFILE,{rlim_cur = 128 * 1024,rlim_max = 128 * 1024})= 0
[pid 12833] setrlimit(RLIMIT_CORE,{rlim_cur = RLIM_INFINITY,rlim_max = RLIM_INFINITY})= 0
[pid 12833] chdir(“/”)= 0
[pid 12833] setgid(33)= 0
[pid 12833] open(“/proc/sys/kernel/ngroups_max”,O_RDONLY)= 3
[pid 12833] read(3,“65536\n”,31)= 6
[pid 12833] close(3)= 0
[pid 12833] open(“/etc/group”,O_RDONLY | O_CLOEXEC)= 3
[pid 12833] lseek(3,0,SEEK_CUR)= 0
[pid 12833] fstat(3,{st_mode = S_IFREG | 0644,st_size = 777,...})= 0
[pid 12833] mmap(NULL,777,PROT_READ,MAP_SHARED,3,0)= 0x7fd7a31c1000
[pid 12833] lseek(3,777,SEEK_SET)= 777
[pid 12833] fstat(3,{st_mode = S_IFREG | 0644,st_size = 777,...})= 0
[pid 12833] munmap(0x7fd7a31c1000,777)= 0
[pid 12833] close(3)= 0
[pid 12833] setgroups(1,[33])= 0
[pid 12833] setuid(33)= 0
[pid 12833] prctl(PR_SET_DUMPABLE,1)= 0
[pid 12833] close(4)= 0
[pid 12833] close(6)= 0
[pid 12833] rt_sigaction(SIGTERM,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12833] rt_sigaction(SIGINT,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12833] rt_sigaction(SIGUSR1,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12833] rt_sigaction(SIGUSR2,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12833] rt_sigaction(SIGCHLD,{SIG_DFL,[],SA_RESTORER,0x7fd7a02234a0},NULL,8)= 0
[pid 12833] rt_sigaction(SIGQUIT,{0x7633f0,[],SA_RESTORER | SA_RESTART,0x7fd7a02234a0},NULL,8)= 0
[pid 12833] close(7)= 0
[pid 12833] accept(0,
[pid 12761] {},1,766)= 0
[pid 12761] epoll_wait(9,{},1,1000)= 0`在此处输入代码`
[pid 12761] epoll_wait(9,{},1,1000)= 0

最佳答案

上面的Nginx错误表明问题与fastcgi(php-fpm)有关。

在/etc/php5/fpm/pool.d/www.conf上启用“catch_workers_output”之后
在php5-fpm.log上找到了相关的错误。现在了解该问题与AMQP模块有关。

[2013年8月21日23:32:57]警告:[池www]子16091对stderr说:“php-fpm:池www:符号查找错误:/usr/lib/php5/20090626/amqp.so: undefined symbol :amqp_open_socket“

重新编译并安装amqp模块后已解决问题

关于php - 失败(104 : Connection reset by peer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379323/

相关文章:

php - 分别提交发票数量记录和数量发票

PHP/CSS : Fix the table, td 大小,虽然 td 处的文本太长

PHP 包括文件 2 目录返回

nginx: [emerg] "server"指令在这里不允许

wordpress - 使用 S3 作为 nginx 的后备在第一个 "few"加载时失败

php - 如何在 Codeigniter 中将行置于顶部

PHP 执行 ('git' )失败

ruby - 我如何从 Ansible 安装 passenger-nginx?

ssl - NGINX 不会监听 443 端口

ruby-on-rails - 如何使用 Rails 或 Nginx 限制下载速度