我已经设置了我们的服务器,以便每个站点都有自己的用户。这似乎是标准做法(也是最安全的)。
我似乎达到了某种池限制。php-fpm.conf 文件明确指出,“FPM 可以处理的池数量没有限制。无论如何,您的系统都会告诉您 :)”。但是,服务最多只能启动 9 个池,然后其中一个会悄悄地被删除。这是我的系统在提醒我吗?(没有错误,而且有足够的空闲内存)。
使用默认设置(Debian)包含池:include=/etc/php/7.0/fpm/pool.d/*.conf
基本上,其中 9 个将被加载,其他的将被删除而不会出现错误。如果我重命名此文件夹中的文件,使它们的顺序不同,则会启动不同的 9 个池(即,它会加载文件夹中的第一个或最后一个 9 个)。
我的池配置示例是:
[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
我的所有池都按上述方式设置(当然用户名不同)。我尝试过一经请求和动态的但都不起作用。
我在服务器上有足够的备用内存,所以我猜测这不是问题。
这是 FPM 错误吗?还是我需要调整某个设置以允许超过 9 个池?我查看了 FPM 错误列表,没有看到任何最新内容,如果这是一个明显的配置错误,我不想发布错误。我似乎找不到其他人在任何地方发布有关类似问题的帖子。
答案1
这有点老了,但我遇到过类似的问题,即池名称太长,因此池被删除而没有任何错误。
希望这可以帮助别人