我已经设置了我们的服务器,以便每个站点都有自己的用户。 这似乎是做到这一点(也是最安全的)的标准方式。
我似乎达到了某种限制。 php-fpm.conf文件清楚地说: “FPM可以处理的池的数目没有限制,你的系统会告诉你:)” 。 但是,这个服务最多只能在一个人静静地放下之前启动最多9个池。 这是我的系统让我知道吗? (没有错误和充足的内存)。
包含使用默认设置(Debian)的池:include = / etc / php / 7.0 / fpm / pool.d / * .conf
基本上,这些将被加载9,不再有错误。 如果我在这个文件夹中重命名文件,使它们按不同的顺序排列,将会启动不同的9个池(即,它加载文件夹中的第一个或最后一个9)。
我的池configuration示例是:
[user1] user = user1 group = user1 listen = /run/php/php7.0-fpm-user1.sock listen.owner = www-data listen.group = www-data pm = ondemand pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.process_idle_timeout = 10s; pm.max_requests = 500 env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
我所有的游泳池都是按照上面的方式设置的(当然用不同的用户名)。 我已经尝试了需求和dynamic,但都没有工作。
我在服务器上有足够的备用内存,所以我猜测这不是问题。
这是一个FPM错误,或者我需要调整某些设置某处以允许超过9个池? 我已经查看了FPM的bug列表,可以看到没有最新的,不想发布bug,如果这是一个明显的configuration错误。 我似乎无法find任何其他人发布类似的问题。