运维php优化,Php-fpm的配置和优化

本文详细介绍了Nginx如何配置以处理PHP请求,重点讲解了Nginx与PHP-FPM的交互,包括fastcgi配置、php-fpm.conf的参数设置,如最大子进程数、慢日志记录等,以及如何优化PHP-FPM的性能和安全设置。
摘要由CSDN通过智能技术生成

17270ce95af85a4a2d33846cd5831d99.png

Nginx本身不能处理 php请求,它是一个web服务器,接收到php请求后,发给php解释器处理,并把结果返回给客户端

nginx 一般是把请求发给fastcgi 管理进程处理,fascgi管理进程选择cgi 子进程处理结果,并返回给nginx

1-38.png

php-fpm.conf 配置文件

[www]

pm.max_children = 15 #最大子进程数

pm.start_servers = 2 #启动时创建的子进程数

pm.max_requests = 500 #每个子进程可以处理的请求数

slowlog = log/$pool.log.slow #慢日志

request_slowlog_timeout = 10s #慢日志记录时间,注意单位,超时的会被纪录到slowlog的path文件中

rlimit_core = 1024

listen = /run/php/php7.2-fpm.sock

;listen.allowed_clients = 127.0.0.1 #限制访问ip为localhost any为所有主机

listen.owner = www-data #启动进程的用户

listen.group = www-data #启动进程的用户组

#以上两个配置需要和Server 相同

pm.max_requests = 500 #设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 '0' 则一直接受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.

;request_terminate_timeout = 0 #设置单个请求的超时时间,这个设置和 php.ini 中配置的max_execution_time 这个参数一样,当max_execution_time 失效时,request_terminate_timeout 会被使用。

[global]

8

pid = /run/php/php7.2-fpm.pid

error_log = /var/log/php7.2-fpm.log #错误日志path

log_level = warning #默认为notice

daemonize = yes #后台执行fpm,默认值为yes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值