在 Ubuntu 系统中,PHP-FPM(FastCGI Process Manager)用于处理 PHP 脚本。为了防止 PHP-FPM 慢启动,可以采取以下措施:
编辑 /etc/php/7.x/fpm/pool.d/www.conf
文件(其中 7.x
是你的 PHP 版本),找到以下参数并进行调整:
pm.start_servers
: 设置启动时的 FPM 进程数。根据服务器的内存和应用程序的需求进行调整。pm.min_spare_servers
: 设置最小空闲 FPM 进程数。当空闲进程数低于此值时,将创建新的 FPM 进程。pm.max_spare_servers
: 设置最大空闲 FPM 进程数。当空闲进程数高于此值时,将终止多余的 FPM 进程。pm.max_requests
: 设置每个 FPM 进程在被终止之前可以处理的请求数。这有助于防止内存泄漏。例如:
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500
编辑 /etc/systemd/system/php7.x-fpm.service
文件(其中 7.x
是你的 PHP 版本),在 [Service]
部分添加以下参数:
StartLimitIntervalSec=0
: 禁用启动限制,以防止服务启动时的延迟。StartLimitBurst=0
: 设置启动限制突发次数。例如:
[Service]
ExecStart=/usr/sbin/php-fpm7.x --nodaemonize --fpm-config /etc/php/7.x/fpm/pool.d/www.conf
StartLimitIntervalSec=0
StartLimitBurst=0
保存更改后,运行以下命令重新加载 systemd 配置并重启 PHP-FPM 服务:
sudo systemctl daemon-reload
sudo systemctl restart php7.x-fpm
OPcache 是一个 PHP 扩展,可以缓存预编译的 PHP 脚本,从而提高性能。要启用 OPcache,请编辑 /etc/php/7.x/cli/php.ini
文件(其中 7.x
是你的 PHP 版本),取消以下行的注释:
zend_extension=opcache.so
然后添加以下配置:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
保存更改后,重启 PHP-FPM 服务:
sudo systemctl restart php7.x-fpm
通过以上措施,可以有效地防止 PHP-FPM 慢启动,提高应用程序的响应速度。