如何在 cPanel 中使用 PHP-FPM

PHP性能一直是影响网站托管的一个重要问题。PHP是当前网络上使用最广泛的服务器编程语言,远远领先于其他语言。最受欢迎的内容管理系统和电子商务应用程序,如WordPress、Joomla、Drupal、Magento等,都是用PHP编写的。

PHP-FPM加速了在繁忙服务器上的PHP执行,使其成为提高网站速度和优化服务器资源的有效工具。

本文详细介绍了PHP-FPM的工作原理,并解释了如何在cPanel & WHM中安装和配置它。

什么是PHP-FPM?

PHP-FPM是一种加速繁忙网络应用程序的PHP运行环境,同时帮助系统管理员控制服务器资源的使用。

传统的PHP运行环境,比如Apache的mod_PHP,是在Web服务器内部工作的。每个连接都会消耗一部分服务器资源。如果有太多并发连接,服务器可能会耗尽内存等资源,影响所有网站的性能。

而PHP-FPM则不同:它运行于Web服务器外部,并使用工作进程池来执行代码。工作进程在请求到来时已经准备好并等待,你可以控制池中的工作进程数量,确保它们不会耗尽所有服务器资源。

具体工作原理是:

Apache通过一个叫FastCGI的高速接口将代码发送给PHP-FPM。

一个监督进程从池中选取一个工作进程并将代码交给它。

工作进程执行代码,然后将结果返回给Apache,Apache再将结果发送到Web浏览器。

工作进程完成后返回池中等待下一个代码块。

如果有太多并发连接,一些连接可能需要等待空闲的工作进程,但它们不会耗尽整个服务器的资源。在繁忙的Web服务器上,工作进程池比其他方法更快更有效。

在CentOS和EasyApache中开始使用PHP-FPM

在cPanel & WHM中启用和配置PHP-FPM非常简单。你可以选择哪些域名使用它,并设置影响其行为的配置参数。

首先是在WHM的MultiPHP Manager中的系统PHP-FPM设置中将其打开。

点击"开启"后,WHM会使PHP-FPM可用,但不会自动为所有域名激活它。你可以通过点击"将所有账户转换为PHP-FPM"强制服务器上的所有账户使用PHP-FPM。

或者,你可以在本页面底部的表格中为单个域激活PHP-FPM。要一次为多个域名激活PHP-FPM,请在表格中选择它们,然后在下拉菜单中选择"开启"。

在cPanel中配置PHP-FPM

激活PHP-FPM后,你可以在MultiPHP Manager中配置系统默认设置和各个域的设置。

点击"系统PHP-FPM配置(System PHP-FPM Configuration)"标签。

在此部分中,你可以更改三个池设置。这些是应用于域名池的默认值:

最大请求数(Max Requests):每个工作进程在重新启动前应执行的请求数量。此设置有助于解决内存泄漏问题。默认值为20,适用于大多数主机场景,但在流量较大的服务器上,你可能希望将其增加到40到60之间。

进程空闲超时(Process Idle Timeout):空闲工作进程在关闭前等待的时间。空闲进程会消耗资源,因此我们不希望它们过多,但也不希望它们过早关闭,因为启动新进程需要时间。默认值为10秒,可能对于繁忙的服务器来说太低。

最大子进程数(Max Children):每个池中的最大工作进程数量。默认值为5。

在池选项下方是PHP INI指令。我们在界面中展示了几种最有用的指令,你可以在PHP的运行时配置文档中找到更多信息。我们将在下一部分向你展示如何添加其他指令。

相关推荐
hummhumm13 分钟前
Oracle 第13章:事务处理
开发语言·数据库·后端·python·sql·oracle·database
@尘音15 分钟前
QT——记事本项目
开发语言·qt
童先生17 分钟前
python 用于请求chartGpt DEMO request请求方式
开发语言·python
qing_04060318 分钟前
C++——string的模拟实现(上)
开发语言·c++·string
魔道不误砍柴功19 分钟前
Java 中 String str = new String(“hello“); 里面创建了几个对象?
java·开发语言·string·new
长潇若雪1 小时前
指针进阶(四)(C 语言)
c语言·开发语言·经验分享·1024程序员节
梦想科研社2 小时前
【无人机设计与控制】红嘴蓝鹊优化器RBMO求解无人机路径规划MATLAB
开发语言·matlab·无人机
混迹网络的权某2 小时前
每天一道C语言精选编程题之求数字的每⼀位之和
c语言·开发语言·考研·算法·改行学it·1024程序员节
一只特立独行的猪6113 小时前
Java面试题——微服务篇
java·开发语言·微服务
喵手5 小时前
Java 与 Oracle 数据泵实操:数据导入导出的全方位指南
java·开发语言·oracle