zoukankan      html  css  js  c++  java
  • 003_PHP 相关配置

    PHP 相关配置

    1. php-fpm 的 pool

    1.1 开启 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/
    

    1.2 创建 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
    

    1.3 创建 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 执行慢日志

    2.1 开启慢日志配置

    #### 编辑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
    # 慢日志存放路径、名称
    

    2.2 测试慢日志配置

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

    重新加载nginx服务

    #### 创建测试html页面
    vim /data/wwwroot/test2.com/sleep.php
    #### 内容如下
    <?php
    echo "test slow log";
    sleep(2);
    echo "done";
    ?>
    

    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

    3.1 开启 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 路径,再次测试、配置错误日志、再次测试、查看错误日志

    3.2 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
    ;定义日志级别
    ……
    

    创建日志文件

    #### 创建错误日志文件
    touch  /opt/php-fpm/var/log/error.log
    #### 设置权限777 (创建日志文件,设置权限,防止因权限问题导致日志无法记录)
    chmod 777 /opt/php-fpm/var/log/error.log
    

    4. php-fpm 进程管理

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

    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的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。
    
  • 相关阅读:
    kafka学习笔记:知识点整理
    ZooKeeper基本原理
    Channel详解
    redis十-对快照模式分析
    文字两行显示
    vue 脚手架创建新项目时报错 ERROR Failed to get response from http://registry.cnpmjs.org/vue-cli-version
    checkbox 点选后没有被选中,有点击事件,不显示小勾
    git 提示 没有操作权限
    HBuilder X 提示Setting.json格式语法错误
    格式化代码时提示错误
  • 原文地址:https://www.cnblogs.com/cy-8593/p/12333617.html
Copyright © 2011-2022 走看看