nginx报错提示:
*963623 recv() failed (104: Connection reset by peer) while reading response header from upstream ..
php-fpm.log报错提示:
WARNING: [pool www] child 10559 exited on signal 11 (SIGSEGV) after 0.504455 seconds from start ..
解决:(服务器出现502错误 可能进程过多导致)
修改 php-fpm.conf pm.max_children 设置的尽可能高一些
pm = dynamic
pm.max_children = 60
pm.start_servers = 30
pm.min_spare_servers = 30
pm.max_spare_servers = 60
重启php-fpm即可
==============================
以上是百度查到的实测之后发现没有用,服务器实际并发也并不高,怀疑是redis.so版本问题,于是到redis官方下载替换了php对应最高版本的redis扩展,测试后仍然不行
redis扩展下载:
https://windows.php.net/downloads/pecl/releases/redis/5.3.1/
最终解决方法,将封装的redis操作类方法更换到官方最新版本提供的操作函数,恢复!
目前怀疑是set时可能会存在空参数,而框架自带的封装操作类对空值做了一些无法描述的行为。。导致redis进程异常阻塞,php-fpm内存耗尽重启,导致nginx服务被挂起,然后产生的502问题
评论