php⽇志报错childexitedwithcode0aftersecondsfromstart 因为之前发⽣502了,⽇志提⽰
[27-May-2015 13:54:34] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or
pm.min/max_spare_servers), spawning 32 children, there are 16 idle, and 602 total children
然后我就⾃⼰随意增加了pm.start_servers参数,⼀段时间后,php⽇志/usr/local/php/var/log/php-fpm.log部分信息如下:
[27-May-2015 15:13:48] NOTICE: [pool www] child 3998 started
[27-May-2015 15:13:59] NOTICE: [pool www] child 9242 exited with code 0 after 47575.960999 seconds from start [27-May-2015 15:13:59] NOTICE: [pool www] child 4210 startedexited
[27-May-2015 15:14:42] NOTICE: [pool www] child 9217 exited with code 0 after 47619.884065 seconds from start [27-May-2015 15:14:42] NOTICE: [pool www] child 5621 started
[27-May-2015 15:14:43] NOTICE: [pool www] child 9561 exited with code 0 after 47620.024499 seconds from start
原因就是没有pm.start_servers这个参数没有按照下⾯的这个公式来:
pm.start_servers= min_spare_servers + (max_spare_servers - min_spare_servers) / 2
⼀般min_spare_servers设置为20
max_spare_servers是根据服务器本⾝的内存来计算的,标准算法就是内存⼤⼩除以30M
当然,有的php程序可能占⽤⽐较⼩,不到30M,这就看情况来计算了。
我设置的是这样的
过滤注释部分:
cat /usr/local/php/f | grep -v "^;" | grep -v "^$"
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
rlimit_files = 65535
[www]
user = www
group = www
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 1400
pm.start_servers = 710
pm.min_spare_servers = 20
pm.max_spare_servers = 1400
pm.max_requests = 10000
slowlog = log/$pool.log.slow
然后重新加载下
/usr/local/nginx/sbin/nginx -s reload 之后⼏天⽇志没有出现信息了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。