ubuntu

php-fpm配置项有哪些ubuntu常用

小樊
50
2025-06-29 12:36:00
栏目: 编程语言

在Ubuntu系统中,PHP-FPM(FastCGI Process Manager)是一个常用的PHP FastCGI实现,用于提高PHP脚本的执行效率。以下是一些常用的PHP-FPM配置项:

全局配置

  1. pid:

    • PHP-FPM的主进程PID文件路径。
    • 示例: pid = /run/php/php7.4-fpm.pid
  2. error_log:

    • 错误日志文件路径。
    • 示例: error_log = /var/log/php7.4-fpm.log
  3. log_level:

    • 日志级别,可选值有alert, error, warning, notice, debug
    • 示例: log_level = notice
  4. events.mechanism:

    • 事件模型,可选值有poll, epoll, kqueue
    • 示例: events.mechanism = epoll
  5. events.max_requests:

    • 每个子进程在重启前可以处理的请求数量。
    • 示例: events.max_requests = 500

进程管理配置

  1. pm:

    • 进程管理方式,可选值有dynamic, static, ondemand
    • 示例: pm = dynamic
  2. pm.max_children:

    • 最大子进程数。
    • 示例: pm.max_children = 5
  3. pm.start_servers:

    • 启动时的子进程数。
    • 示例: pm.start_servers = 2
  4. pm.min_spare_servers:

    • 最小空闲子进程数。
    • 示例: pm.min_spare_servers = 1
  5. pm.max_spare_servers:

    • 最大空闲子进程数。
    • 示例: pm.max_spare_servers = 3

连接配置

  1. listen:

    • 监听的地址和端口。
    • 示例: listen = /run/php/php7.4-fpm.sock
  2. listen.backlog:

    • 监听队列的长度。
    • 示例: listen.backlog = 65535
  3. listen.allowed_clients:

    • 允许连接的客户端IP地址或CIDR。
    • 示例: listen.allowed_clients = 127.0.0.1

安全配置

  1. security.limit_extensions:

    • 限制处理的文件扩展名。
    • 示例: security.limit_extensions = .php .php3 .php4 .php5 .php6 .php7
  2. clear_env:

    • 是否清除环境变量。
    • 示例: clear_env = no

性能优化配置

  1. request_terminate_timeout:

    • 请求超时时间(秒)。
    • 示例: request_terminate_timeout = 0
  2. fastcgi_param:

    • FastCGI参数,用于传递给PHP脚本。
    • 示例: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name

示例配置文件

以下是一个典型的PHP-FPM配置文件示例(通常位于/etc/php/7.4/fpm/pool.d/www.conf):

[www]
user = www-data
group = www-data
listen = /run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
request_terminate_timeout = 0
security.limit_extensions = .php .php3 .php4 .php5 .php6 .php7
clear_env = no

请根据实际需求调整这些配置项。修改配置文件后,记得重启PHP-FPM服务以使更改生效:

sudo systemctl restart php7.4-fpm

希望这些信息对你有所帮助!

0
看了该问题的人还看了