如何在 cPanel 中使用 PHP-FPM

news/2024/10/18 2:09:05/

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的运行时配置文档中找到更多信息。我们将在下一部分向你展示如何添加其他指令。


http://www.ppmy.cn/news/1539874.html

相关文章

Node.js基础与应用

目录 1.要求 2.创建第一个Node.js代码 2.1 安装 VSCode 和所需插件 2.2 安装 Node.js 和 Yarn 2.3 创建 Node.js 项目 2.3.1 在 VSCode 中打开一个新文件夹 2.3.2 初始化 Node.js 项目 2.3.3 安装 Express 2.4 编写 Node.js 应用 2.4.1 创建主文件 2.4.2 运行应用 …

unity动态批处理

unity动态批处理 动态批处理要求和兼容性渲染管线兼容性 使用动态批处理网格的动态批处理限制动态生成几何体的动态批处理 动态批处理 动态批处理是一种绘制调用批处理方法,用于批处理移动的 GameObjects 以减少绘制调用。动态批处理在处理网格和 Unity 在运行时动…

SpringBoot框架在购物推荐网站设计中的创新应用

3系统分析 3.1可行性分析 通过对本东大每日推购物推荐网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本东大每日推购物推荐网站采用JAVA作为开发语言&…

智能网联汽车安全隐患,如何化解?

0. 智能网联汽车安全问题如何才能解决?1. TARA 威胁分析与风险评估平台2. CSTP 智能网联汽车网络安全测试平台3. 智能网联汽车安全解决方案4. 车联网测试认证与培训解决方案5. 车联网网络安全实验室建设方案 0. 智能网联汽车安全问题如何才能解决? 智能…

双通道音频功率放大电路D2822M兼容TDA2822,全封装输出功率0.11W,用于音频产品

在某客户的便携式音频产品中,客户想在确保其产品的性能的前提下,为产品方案寻找一颗国产备份料。客户产品之前使用的是TDA2822,在了解客户的电路设计以及该产品的电气特性后,给客户寻找了一款可兼容相同电路设计使用的国产厂牌芯谷…

Caffeine Cache解析(一):接口设计与TinyLFU

Caffeine is a high performance Java caching library providing a near optimal hit rate. 自动加载value, 支持异步加载基于size的eviction:frequency and recency基于时间的过期策略:last access or last write异步更新valuekey支持weak referenceva…

AI+Xmind彻底解决你的思维导图

在写作领域、老师授课、产品经理等都会使用到思维导图,如果是一个个拖拉撰写太麻烦了。 本篇内容小索奇就教会大家利用AI结合Xmind制作思维导图。 先打开我们的AI软件 这里小索奇用ChatGPT(可以使用kimi,豆包等大模型都可以) P…

Linux 下安装最新版 MySQL

1. 下载和安装 MySQL 1.1 下载 Linux 版本 MySQL 压缩包 在 Linux 操作系统中下载 MySQL 比较简单,只需要运行一条命令就可以了。 命令 : wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz # 下载地址下载进度如…