php-fpm.conf配置文件中文说明详解及重要参数说明

yizhihongxing

让我来详细讲解一下“php-fpm.conf配置文件中文说明详解及重要参数说明”的完整攻略。

前言

php-fpmNGINX 下最常用的 PHP 解释器管理程序,是一个高效的 PHP 解决方案。php-fpm 配置文件 php-fpm.conf 可以控制 php-fpm 运行时的一些行为以及基础设施设置。

配置文件结构

php-fpm.conf 配置文件中的大部分部分都被包含在 Sections(段落) 中,通常被称为日志、池和其他可用的功能。

一个 section 由一个名称标识符和确定规则和值的 key-value 组成。下面是一个示例:

[www]
listen = 127.0.0.1:9000
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

这表示上面的配置部分定义了一个名为 www 的池,该池使用 IPv4 地址 127.0.0.1 上的端口 9000 进行监听,并使用 nginx 作为工作进程用户和组。该池中的进程与启动、关闭常驻进程数量设置、空闲进程数量和最大进程数量有关。

主要配置参数

以下是在 php-fpm.conf 文件中经常使用的一些关键参数:

listen

listen 指令指定了通过 socketTCP 等协议的 FastCGI 应用程序和 PHP-FPM 进程之间的通信方式。下面是一些常见的例子:

listen = 127.0.0.1:9000     # 监听 127.0.0.1:9000 的 IPv4 套接字文件。
listen = /run/php/php-fpm.sock # 监听 `php-fpm.sock` 文件的域套接字。

user/group

usergroup 指令定义了 php-fpm 进程应该运行在哪个用户和组的上下文中。如果在服务器上安装了多个 PHP 版本,则应该在多个 php-fpm 进程的设置中使用不同的用户和组标识符,以确保隔离各个 PHP 版本中的任何安全漏洞。下面是一个示例:

user = nginx
group = nginx

pm

pm 指令定义了从外部请求到达时如何管理 PHP 进程。下面是一些可用的 pm 模式:

  • static (默认):在进程数达到 pm.max_children 所定义的数量时创建所有要求的进程。
  • dynamic:入发请求时按需创建更多进程,关闭这些进程的限制保持 pm.max_children.
  • ondemand:在请求到达时即动态创建子进程,默认不启用。

pm.max_children

pm.max_children 定义了池中最大 PHP 子进程的数量(仅适用于 dynamicstatic 模式)。下面是一个示例:

pm.max_children = 50

pm.start_servers

pm.start_servers 定义了在 dynamic 模式下启动的进程数,以使 pm.min_spare_serverspm.max_spare_servers 工作。下面是一个示例:

pm.start_servers = 5

pm.min_spare_servers

pm.min_spare_servers 定义了至少保留 dynamic 模式中空闲进程的数量。下面是一个示例:

pm.min_spare_servers = 5

pm.max_spare_servers

pm.max_spare_servers 定义保留的最大动态模式空闲进程数。下面是一个示例:

pm.max_spare_servers = 35

示例

下面是一个基本的示例:

[www]
listen = 127.0.0.1:9000
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

这表明 php-fpm 将绑定到 127.0.0.1:9000,使用 nginx 用户和组运行,并将使用 dynamic 模式启动进程,最多可创建 50php-fpm 进程。如果空闲时,则至少会有 5 个工作进程在每次启动时派生出,并将保留 5 个进程作为空闲进程,最多只保留 35 个空闲进程。

下面是另一个示例,使用套接字连接:

[www]
listen = /run/php/php-fpm.sock
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

这个示例与上面的示例类似,但是 listen 指定了一个域套接字作为通信通道。

结论

以上就是 “php-fpm.conf配置文件中文说明详解及重要参数说明”的完整攻略。通过此攻略,您可以了解配置文件中的文本内容,理解常用参数的用途,更好地管理您的 PHP-FPM 进程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php-fpm.conf配置文件中文说明详解及重要参数说明 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 将一维或多维的数组连接成一个字符串的php代码

    将一维或多维的数组连接成一个字符串是很常见的需求,可以使用PHP的implode()函数来实现。下面是完整的攻略: implode()函数 implode()函数可以将数组的值连接成一个字符串。接受两个参数:第一个参数是连接字符,第二个参数是要连接的数组。 一维数组的连接 下面是将一个一维数组连接成一个字符串的PHP代码: $array = array(‘f…

    PHP 2023年5月26日
    00
  • php脚本守护进程原理与实现方法详解

    PHP脚本守护进程原理与实现方法详解 背景 要想实现持续运行某个 PHP 程序,一般常见的方式是在终端执行 php your-script.php 命令,但是这种方式不够优雅,因为无法后台运行,当终端连接关闭时,该 PHP 程序也会随之退出。而守护进程是一种让后台程序持续运行的方式,我们可以借助它来实现 PHP 脚本目标。 原理 守护进程是指一种在操作系统后…

    PHP 2023年5月23日
    00
  • PHP实现猜数游戏

    以下是“PHP实现猜数游戏”的完整攻略,包括游戏规则、实现步骤和两条示例说明。 游戏规则 猜数游戏是一款经典的游戏,玩法非常简单。游戏开始后,系统会随机生成一个固定的数字,然后用户需要输入猜测的数字,如果猜测的数字与系统生成的数字相同,那么游戏胜利;否则,系统会提示玩家需要继续猜测更大或者更小的数字。 实现步骤 以下是猜数游戏的实现步骤: 1. 实现表单 首…

    PHP 2023年5月27日
    00
  • ThinkPHP钩子和行为获取回调参数和自定义参数

    0x001 自定义参数 $extra_param = “Some extra param”; Hook::add(‘response_end’, function($params) use ($extra_param) { Log::info(‘Extra: ‘.$extra_param); }); 原文链接:https://www.cnblogs.com/…

    PHP 2023年4月18日
    00
  • PHP生成短网址的3种方法代码实例

    下面我来为你详细讲解“PHP生成短网址的3种方法代码实例”的完整攻略。 一、背景介绍 短网址是将长网址转换为短的URL地址,以便在文本消息、微博等场合使用,简化URL长度。PHP作为一种常用的编程语言,可以通过各种方式来实现生成短网址。下面我将介绍三种常见的方法。 二、使用网址缩短服务 第一种方法是使用外部网址缩短服务。这种方式非常简单,只需要调用外部提供的…

    PHP 2023年5月23日
    00
  • php之二维数组排序问题

    在讲解“PHP之二维数组排序问题”的攻略之前,我们先来了解一下什么是二维数组。二维数组是指在一个一维数组中每个元素又都是一个数组。因此,一个二维数组就相当于是一个由多个数组组成的数组。在PHP中,我们可以使用数组函数来操作二维数组。接下来,我将分享一下二维数组排序的攻略。 什么是二维数组排序? 二维数组排序就是对一个由多个数组组成的数组,按照指定条件对其内部…

    PHP 2023年5月26日
    00
  • PHP实现图片合并的示例详解

    PHP实现图片合并的示例详解 在网页开发中,经常会使用图片进行界面设计。有时候需要将多张图片合并成一张来节省浏览器请求的次数,这时候需要使用PHP来实现图片合并。本文将介绍如何使用PHP实现图片合并,并提供两个示例。 实现原理 PHP实现图片合并的原理是将多张图片读入内存中,使用imagecopy()函数将它们合并成一张图片,并输出成一个图像文件。 实现步骤…

    PHP 2023年5月23日
    00
  • PHP CURL模拟GET及POST函数代码

    下面是详细讲解“PHP CURL模拟GET及POST函数代码”的完整攻略: 1. 什么是CURL? CURL 全称为“Client URL Library”,是一个用来发出 HTTP 请求的工具和库。它支持多种协议,包括 HTTP、FTP、SMTP 等等。在 PHP 中,我们可以通过使用 CURL 库来发出 HTTP 请求,包括 GET 和 POST 请求。…

    PHP 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部