PHP-FPM(FastCGI Process Manager)是一个用于管理PHP FastCGI进程的高性能、稳定的进程管理器。在Ubuntu上,PHP-FPM的内存管理可以通过配置文件进行调整。
找到PHP-FPM的配置文件。通常情况下,它位于/etc/php/{version}/fpm/pool.d/www.conf,其中{version}是你的PHP版本号。例如,如果你使用的是PHP 7.4,那么配置文件的路径将是/etc/php/7.4/fpm/pool.d/www.conf。
使用文本编辑器打开配置文件。例如,你可以使用nano编辑器:
sudo nano /etc/php/{version}/fpm/pool.d/www.conf
在配置文件中找到以下参数:
pm:这个参数决定了PHP-FPM如何管理子进程。可选值有dynamic、static、ondemand和pool。默认值通常是dynamic。pm.max_children:这个参数设置了最大子进程数。根据服务器的内存和应用程序的需求进行调整。pm.start_servers:这个参数设置了启动时的子进程数。仅在pm设置为dynamic或ondemand时生效。pm.min_spare_servers:这个参数设置了最小空闲子进程数。仅在pm设置为dynamic或ondemand时生效。pm.max_spare_servers:这个参数设置了最大空闲子进程数。仅在pm设置为dynamic或ondemand时生效。pm.max_requests:这个参数设置了每个子进程在被重启之前可以处理的请求数。这有助于防止内存泄漏。根据服务器的内存和应用程序的需求调整这些参数。例如,如果你的服务器有足够的内存,你可以增加pm.max_children的值以处理更多的并发请求。同时,确保pm.max_requests设置得当,以防止内存泄漏。
保存并关闭配置文件。
重启PHP-FPM服务以使更改生效:
sudo systemctl restart php{version}-fpm
将{version}替换为你的PHP版本号。例如,如果你使用的是PHP 7.4,那么命令将是:
sudo systemctl restart php7.4-fpm
通过以上步骤,你可以在Ubuntu上调整PHP-FPM的内存管理。请注意,根据服务器的具体情况和应用程序的需求进行调整,以确保最佳性能和稳定性。