Ubuntu PHP-FPM(FastCGI Process Manager)是一种用于管理PHP FastCGI进程的工具
在Ubuntu系统中,PHP-FPM的多进程模式可以通过配置文件/etc/php/版本号/fpm/pool.d/www.conf进行设置。以下是一些关键配置项及其解释:
pm:这是PHP-FPM进程管理器的类型。在Ubuntu中,通常设置为dynamic或ondemand。
dynamic:动态模式,根据负载自动调整进程数量。可以设置pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers参数来控制进程数量。ondemand:按需模式,仅在有请求时创建进程。可以设置pm.process_idle_timeout参数来控制空闲进程的存活时间。pm.max_children:允许的最大子进程数量。这个值应该根据服务器的内存和应用程序的需求来设置。
pm.start_servers:启动时的服务器进程数量。在动态模式下,这个值会被忽略。
pm.min_spare_servers:最小空闲服务器进程数量。在动态模式下,当空闲进程数量低于此值时,会创建新的进程。
pm.max_spare_servers:最大空闲服务器进程数量。在动态模式下,当空闲进程数量高于此值时,会销毁多余的进程。
pm.process_idle_timeout:空闲进程的超时时间(秒)。在按需模式下,如果一个进程空闲时间超过此值,它将被销毁。
要修改PHP-FPM的多进程模式,你需要编辑www.conf文件,然后重启PHP-FPM服务。以下是一个示例配置:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.process_idle_timeout = 10s
在这个示例中,我们使用了动态模式,并设置了最大子进程数量为50,启动时的服务器进程数量为5,最小空闲服务器进程数量为5,最大空闲服务器进程数量为35,空闲进程的超时时间为10秒。
总之,Ubuntu PHP-FPM的多进程模式可以根据服务器的负载和应用程序的需求进行灵活调整,以提高性能和资源利用率。