Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • 开发工具

    • c tool
    • dev tool
    • java tool
    • IDEA
    • vscode
    • vercel
    • php-fpm
      • PHP-FPM 的主要功能和特点
      • 安装和配置 PHP-FPM
        • 安装 PHP-FPM
        • 配置 PHP-FPM
        • 启动和管理 PHP-FPM
        • 验证 PHP-FPM 是否在运行
  • 构建工具

  • 版本控制

  • 容器

  • 调试工具

  • 测试工具

  • CLI 工具

  • 网络工具

  • 编辑器

  • 设计工具

  • 多媒体

  • 包管理

  • 平台工具

  • tools
  • dev_tools
Jacky
2024-06-12
目录

php-fpm

PHP-FPM(PHP FastCGI Process Manager)是一种专门为处理高并发环境下的 PHP 脚本而设计的工具。它是 PHP 的一个进程管理器,主要用于提高网站的性能和稳定性,特别是在高负载情况下。PHP-FPM 是运行在 FastCGI 模式下的 PHP 解释器的一个实现

注:FastCGI 是一种常用于提高交互式应用程序(如 Web 服务器)性能的协议。它扩展和改进了早期的 CGI(Common Gateway Interface)标准,提供了一种更高效、更可扩展的方式来处理请求

PHP-FPM 是一个非常强大的工具,专为高并发和高性能环境下的 PHP 应用而设计。通过合理配置和优化,可以显著提高 PHP 应用的响应速度和稳定性

# PHP-FPM 的主要功能和特点

  1. 进程管理:
  • PHP-FPM 管理多个 PHP 工作进程,允许 PHP 解释器以多进程模式运行,以提高并发处理能力
  1. 负载均衡:
  • 它可以通过配置进程池来平衡负载,确保请求能够均匀分布到不同的进程中,防止某个进程过载
  1. 动态子进程生成:
  • PHP-FPM 能根据需要动态地启动和关闭 PHP 子进程,从而更好地利用服务器资源
  1. 日志功能:
  • 它提供了详细的日志记录功能,帮助开发者和系统管理员监控和排查问题
  1. 慢请求管理:
  • PHP-FPM 可以记录执行时间过长的请求,便于性能优化和故障排除
  1. 配置灵活:
  • PHP-FPM 提供了灵活的配置选项,可以针对不同的应用场景进行优化配置

# 安装和配置 PHP-FPM

# 安装 PHP-FPM

在大多数 Linux 发行版上,可以通过包管理器安装 PHP-FPM。例如,在 Ubuntu 上,可以使用以下命令安装 PHP-FPM:

sudo apt update
sudo apt install php-fpm
1
2

# 配置 PHP-FPM

PHP-FPM 的主要配置文件通常位于 /etc/php/<version>/fpm/php-fpm.conf。此外,每个进程池的配置文件位于 /etc/php/<version>/fpm/pool.d/ 目录下

典型的 php-fpm.conf 配置文件示例:

[global]
pid = /run/php/php-fpm.pid
error_log = /var/log/php-fpm.log

include=/etc/php/<version>/fpm/pool.d/*.conf
1
2
3
4
5

一个典型的进程池配置文件示例(如 www.conf):

[www]
user = www-data
group = www-data
listen = /run/php/php-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
request_slowlog_timeout = 5s
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 启动和管理 PHP-FPM

安装完成并配置好 PHP-FPM 后,可以通过以下命令启动和管理 PHP-FPM 服务:

    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    sudo systemctl status php-fpm
    
    1
    2
    3
    brew services start php
    brew services stop php
    brew services restart php
    
    1
    2
    3
    // Make sure to add code blocks to your code group

    在大多数现代 Linux 发行版上,使用 systemctl 命令可以方便地管理 PHP-FPM 服务

    # 验证 PHP-FPM 是否在运行

    可以通过检查 PHP-FPM 的监听端口或套接字来确认其是否正在运行:

    lsof -Pni :9000
    
    1

    或检查套接字文件:

    ls -la /usr/local/var/run/php-fpm.sock
    
    1

    如果看到 PHP-FPM 正在监听相应的端口或套接字文件存在且有适当的权限,则 PHP-FPM 运行正常

    #tool#dev-tools
    上次更新: 2026/10/18, 22:14:48
    vercel
    mvn

    ← vercel mvn→

    最近更新
    01
    Codex 使用与会话管理指南
    10-17
    02
    Tailscale 入门:让自己的设备跨网络互联
    10-15
    03
    GitHub CLI(gh)工作流与 CI 排查
    10-08
    更多文章>
    Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式