看不懂你说的什么‘空间’是什么意思?
The FastCGI pool queue is full。
意思就是你fastcgi连接池被用完了。
当访问php页面的时候,每个连接都会创建一个fastcgi连接。
fastcgi连接数过多,基本原因就是页面长时间在处理,导致cgi资源没有被释放,同时又有新的连接进来,不断创建新的cgi连接。超过最大连接数的时候,nginx会抛出HTTP 502异常。
php-fpm最大连接数是可以配置的,只要你内存足够。
ps aux | grep php-fpm 命令查看一下有多少个链接了。
被攻击讲道理可能性不大,人家没事攻击你的小网站干嘛,大网站的话,也不会问这么低级的问题。
估计你是用着一些可视化界面配置的服务器和网站,对底层的一些通信不是很了解。
解决方案:
可以先重启一下php-fpm,如果还是出现这个问题,你应该排除代码什么地方可能会造成堵塞。
最后补充一点:如何排除,你应该查看每个php每个请求(文件或者路由)的运行时间。两个地方可以看:
1是框架提供的请求日志。2是php-fpm慢日志。