要调整 CentOS 上的 PHP 配置以适应高并发,你需要关注几个关键方面:PHP-FPM、PHP 内存限制、最大执行时间、文件描述符限制等。以下是一些建议:
编辑 /etc/php-fpm.d/www.conf
文件,根据服务器的硬件资源和预期的并发量进行调整。
pm.max_children
:这个参数决定了 PHP-FPM 可以同时处理的最大请求数。根据服务器的内存和每个 PHP 进程所需的内存进行调整。例如,如果每个 PHP 进程需要 30MB 内存,服务器有 2GB 内存,那么可以将 pm.max_children
设置为 2GB / 30MB = 66
。pm.start_servers
、pm.min_spare_servers
和 pm.max_spare_servers
:这些参数控制 PHP-FPM 的启动和空闲进程数量。根据服务器的负载进行调整。编辑 /etc/php.ini
文件,增加或修改以下参数:
memory_limit
:设置 PHP 脚本允许使用的最大内存。根据应用程序的需求进行调整,但要确保不会消耗过多内存。编辑 /etc/php.ini
文件,修改 max_execution_time
参数。将其设置为一个合适的值,以便让脚本有足够的时间执行,但不要设置得过长,以免影响服务器性能。
在 /etc/security/limits.conf
文件中,为 web 服务器用户添加以下行:
* soft nofile 65535
* hard nofile 65535
这将允许 web 服务器用户打开更多的文件描述符。根据服务器的实际需求进行调整。
编辑 /etc/php.ini
文件,启用并调整 OPCache 参数,以提高 PHP 脚本的执行速度。
[opcache]
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 和 web 服务器(如 Nginx 或 Apache)以使更改生效。
sudo systemctl restart php-fpm
sudo systemctl restart nginx
请注意,这些只是一些建议,实际配置可能需要根据服务器的具体情况进行调整。在进行更改之前,请确保充分了解每个参数的含义及其对服务器性能的影响。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>