博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 相关配置
阅读量:6502 次
发布时间:2019-06-24

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

hot3.png

1. php-fpm的pool

  • 编辑php-fpm配置文件php-fpm.con

    vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加以下内容
    include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vhost” 的配置

  • 创建存放pool配置文件目录

    mkdir /usr/local/php/etc/php-fpm.d/
    cd /usr/local/php/etc/php-fpm.d/

  • 创建www 的pool配置文件

    vim www.conf //内容如下

    [test]	listen = /tmp/test.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
  • 继续创建test2的pool配置文件

    vim test2.conf //内容如下

    [admin]	listen = /tmp/test2.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

2. php-fpm 执行慢日志

A. pool文件

编辑php-fpm的pool文件vim /usr/local/php-fpm/etc/php-fpm.d/test2.conf//添加慢日志记录配置,如:下内容

request_slowlog_timeout = 1    # 超过1秒的php解析 记录一次慢日志,实际生产环境中 设置2秒slowlog = /usr/local/php-fpm/var/log/test2-slow.log  # 慢日志存放路径、名称

B. 测试慢日志效果

配置nginx的虚拟主机test2.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/test2.sock

重新加载nginx服务,创建测试html页面
vim /data/wwwroot/test2.com/sleep.php//写入如下内容

curl -x127.0.0.1:80 test2.com/sleep.php

cat /usr/local/php-fpm/var/log/test2-slow.log

3. php-fpm定义open_basedir

A. open_basedir

open_basedir 限制php解析的目录(LAMP 架构中 也可以在 Apache 的配置中设置open_basedir;LNMP 架构直接在php的设置文件中设置)

vim /usr/local/php-fpm/etc/php-fpm.d/admin.conf//配置文件中加入如下内容

……php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/# 这里限制的目录为“/data/wwwroot/test.com”/和“/tmp/”目录……

创建测试php脚本,进行测试;再次更改test.conf,修改open_basedir路径,再次测试

配置错误日志、再次测试、查看错误日志

B. 错误日志

php-fpm的错误日志配置,编辑配置文件:vim /opt/php-fpm/etc/php.ini

……display_errors = Off        ;错误显示“Off 关闭”“On 开启”,开启后会在浏览器中显示错误信息;生产环境不开启……error_log = error_log = /opt/php-fpm/var/log/error.log       ;定义日志位置、日志名称……error_reporting = E_ALL       ;定义日志级别……
创建错误日志文件,并设置权限777(创建日志文件,设置权限,防止因权限问题导致日志无法记录)

touch /opt/php-fpm/var/log/error.log

chmod 777 /opt/php-fpm/var/log/error.log

4. php-fpm 进程管理

php-fpm.conf 配置文件的部分参数说明;

pm = dynamic  //动态进程管理,也可以是staticpm.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/4083081/blog/3013816

你可能感兴趣的文章
Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习
查看>>
解决方案(.sln)文件
查看>>
理解cookie和session机制
查看>>
【Treap】bzoj1588-HNOI2002营业额统计
查看>>
第六周作业
查看>>
利用ZYNQ SOC快速打开算法验证通路(5)——system generator算法IP导入IP integrator
查看>>
指针和引用的区别
查看>>
运行PHP出现No input file specified错误解决办法
查看>>
【重建】从FJOI2016一试谈起
查看>>
selenium之frame操作
查看>>
php 引入其他文件中的变量
查看>>
MYSQL体系结构-来自期刊
查看>>
mysql的基本知识
查看>>
exchange 2003配置ASSP 反垃圾邮件
查看>>
webpack入门(二)what is webpack
查看>>
UnitOfWork以及其在ABP中的应用
查看>>
学习C语言必须知道的理论知识(第一章)
查看>>
for语句内嵌例题与个人理解
查看>>
眠眠interview Question
查看>>
[转]CSS hack大全&详解
查看>>