博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
阅读量:6230 次
发布时间:2019-06-21

本文共 2428 字,大约阅读时间需要 8 分钟。

hot3.png

11月30日任务

12.21 php-fpm的pool

12.22 php-fpm慢执行日志

12.23 open_basedir

12.24 php-fpm进程管理

1.php-fom的pool

2db48fe4db83c2c28f444d3c3efd9ec4e18.jpg

fe0c1b85ea244638a1bbf7435fd0b0a5aa3.jpg

示例一:配置多个池子

  • cd /usr/local/php-fpm/etc/
  • ls &&cat php-fpm.conf

548169211f8d05d89ed87c3633ab39efc5a.jpg

  •  vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加  
  • include = etc/php-fpm.d/*.conf  
  • mkdir /usr/local/php/etc/php-fpm.d/  
  • cd /usr/local/php/etc/php-fpm.d/  
  • vim www.conf //内容如下

[www]

listen = /tmp/www.sock

listen.mode=666

user = php-fpm

group = php-fpm

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

  • 继续编辑配置文件  
  • vim aming.conf //内容如下

[aming]

listen = /tmp/aming.sock

listen.mode=666

user = php-fpm

group = php-fpm

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024  

  • /usr/local/php/sbin/php-fpm –t  检测语法
  • /etc/init.d/php-fpm restart    重启php-fpm服务

 

2.php-fpm慢执行日志

13c570b515c3dc6d950dfe1fdefac87a991.jpg

示例一:

  • vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加入如下内容

request_slowlog_timeout = 1   定义超过一秒钟就要记录日志

slowlog = /usr/local/php-fpm/var/log/www-slow.log  定义日志存放位置

47823adeed4bec29e0951dca711acb10887.jpg

  • -t &&reload 测试语法并重新加载配置文件

d90d32dae9f02227d216b6469ed5961ef2e.jpg

  • cat 一下,看看日志文件是否生成

1ce56824d470f59b1edd2d228bee6ea1522.jpg

  • 配置nginx的虚拟主机test.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/www.sock  重新加载nginx服务  

09545fc0911d0cf6663ee03a253139ba2b6.jpg

  • 做一个测试php文件
  • vim /data/wwwroot/test.com/sleep.php//写入如下内容

<?php

echo “test slow log”;

sleep(2);

echo “done”;

?>  

  • curl -x127.0.0.1:80 test.com/sleep.php  运行测试一下
  • cat /usr/local/php-fpm/var/log/www-slow.log  查看一下日志

9aba4a0265cbca91bf854083055ea3b0825.jpg

  • 定义的时候,最好定义为2秒,因为很多php的执行脚本都超过1秒,这样记录的日志就会少很多,一般定义为1~2秒。

示例二:拓展,如果语法报错,想看到详细错误内容的话,可以开启display_errors的一项功能

  • vim /usr/local/php-fpm/etc/php.ini 在它的配置文件里配置更改一下
  • /display_errors 搜索一下,如下,将它设置为on开启状态

252586fd458ece69aedae54b506c624eb42.jpg

  • reload 重新加载配置文件

ef56fde38a76186805fd42b39fb1aaf4eb9.jpg

  • 再次执行语法出错的文件
  • 就可以看到详细的日志错误信息

72c3517667a65faec73c762bf03b265285d.jpg

 

3.open_basedir

833d158ebcdd80d3dfe43cf43fd6d3faa26.jpg

示例一:

  • vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf//加入如下内容php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/  

cecb467cbec2964d9d29328b1ac4a2a40e6.jpg

  • /etc/init.d/php-fpm restart 重启一下php-fpm服务
  • 创建测试php脚本,进行测试  
  • 再次更改aming.conf,修改路径,再次测试  
  • 配置错误日志  
  • vi /usr/local/php-fpm/etc/php.ini  如下编辑

52b61a7c97f9eab22d6b065b9b6e2081ff1.jpg

  • vi /usr/local/php-fpm/etc/php.ini  如下编辑

8c25d816d89348ec67ce334bc126cf3a3ed.jpg

  • 手动创建日志生成文件,并且更改权限为777,然后重启一下php-fpm

696142d11afb0aeee0c34da4d9d494db2f7.jpg

  • 用curl再次测试  
  • 查看错误日志

4ec5e9a1dff069cd1517941226464e9681f.jpg

 

4.php-fpm进程管理

080cb7329c5ad03d8eb998d46dfc88265d7.jpg

示例一:

  • pm = dynamic  //动态进程管理,也可以是static一次性生成你所定义数量的所有进程,定义进程以什么样的形式启动
  • pm.max_children = 50 //最大子进程数,ps aux可以查看  
  • pm.start_servers = 20 //启动服务时会启动的进程数  
  • pm.min_spare_servers = 5 //定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。
  • pm.max_spare_servers = 35 //定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。  
  • pm.max_requests = 500  //定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。

转载于:https://my.oschina.net/u/3962011/blog/2966569

你可能感兴趣的文章
计算机网络与Internet应用
查看>>
标签制作软件中如何导出标签模板为PDF文件?
查看>>
[CF919E]Congruence Equation
查看>>
Java IO最详解
查看>>
关于错误error C4430 error C2365 error C2078 error C2440 error C2143的处理。
查看>>
用python写一个抽奖程序
查看>>
npm使用入门(package.json)
查看>>
You are beautiful
查看>>
inline和宏之间的区别
查看>>
hibernate篇章五--Hibernage工作原理
查看>>
MongodDB学习笔记(二)(复制)
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
Java中1.0 / 0.0 会输出什么?
查看>>
linux性能剖析工具
查看>>
DP ZOJ 3872 Beauty of Array
查看>>
jQuery Ajax实例 ($.ajax_$.post_$.get)
查看>>
垃圾桶丁
查看>>
HDU 4757 可持久化trie树
查看>>
spring-boot入门
查看>>
USB HID 分析
查看>>