ubuntu

ubuntu php-fpm配置项详解

小樊
41
2025-06-27 12:13:18
栏目: 编程语言

Ubuntu中的PHP-FPM(FastCGI Process Manager)是一个用于管理PHP FastCGI进程的工具。它可以帮助你更好地控制PHP进程,提高性能和安全性。以下是一些常见的PHP-FPM配置项及其详解:

  1. listen: 这个配置项用于设置PHP-FPM监听的地址和端口。例如:

    listen = 127.0.0.1:9000
    

    这里,PHP-FPM将监听本地回环地址的9000端口。你也可以使用Unix套接字进行通信,例如:

    listen = /var/run/php/php7.4-fpm.sock
    
  2. listen.ownerlisten.group: 这两个配置项用于设置监听套接字的属主和属组。例如:

    listen.owner = www-data
    listen.group = www-data
    
  3. usergroup: 这两个配置项用于设置PHP-FPM进程的运行用户和组。例如:

    user = www-data
    group = www-data
    
  4. pm: 这个配置项用于设置进程管理器类型。可选值有staticdynamicondemand。例如:

    pm = dynamic
    

    dynamic模式下,PHP-FPM会根据负载自动调整进程数量。

  5. pm.max_children: 这个配置项用于设置最大子进程数量。例如:

    pm.max_children = 5
    
  6. pm.start_servers: 这个配置项用于设置在启动时创建的子进程数量。仅在pm设置为dynamicondemand时生效。例如:

    pm.start_servers = 2
    
  7. pm.min_spare_servers: 这个配置项用于设置最小空闲子进程数量。仅在pm设置为dynamicondemand时生效。例如:

    pm.min_spare_servers = 1
    
  8. pm.max_spare_servers: 这个配置项用于设置最大空闲子进程数量。仅在pm设置为dynamicondemand时生效。例如:

    pm.max_spare_servers = 3
    
  9. pm.max_requests: 这个配置项用于设置每个子进程在被重启之前可以处理的请求数量。例如:

    pm.max_requests = 500
    
  10. request_terminate_timeout: 这个配置项用于设置请求超时时间(秒)。例如:

    request_terminate_timeout = 30s
    
  11. slowlog: 这个配置项用于设置慢查询日志文件路径。例如:

    slowlog = /var/log/php-fpm/www-slow.log
    
  12. catch_workers_output: 这个配置项用于设置是否捕获子进程的输出。例如:

    catch_workers_output = yes
    

这些配置项通常位于/etc/php/{version}/fpm/pool.d/www.conf文件中,其中{version}是你的PHP版本。你可以根据实际需求修改这些配置项以优化PHP-FPM的性能。在修改配置后,请确保重启PHP-FPM服务以使更改生效:

sudo service php{version}-fpm restart

0
看了该问题的人还看了