zoukankan      html  css  js  c++  java
  • php-fpm包的安装与配置

    实验环境:CentOS7

    [root@~ localhost]#yum -y install php-fpm
    php-fpm包:用于将php运行于fpm模式
    #在安装php-fpm时,一般同时安装如下包
    [root@~ localhost]#yum -y install php-mbstring php-mcrypt php-mysql
    [root@~ localhost]#rpm -ql php-fpm
    /etc/logrotate.d/php-fpm    
    /etc/php-fpm.conf    #服务配置文件
    /etc/php-fpm.d
    /etc/php-fpm.d/www.conf   #主配置文件
    /etc/sysconfig/php-fpm
    /run/php-fpm
    /usr/lib/systemd/system/php-fpm.service
    /usr/lib/tmpfiles.d/php-fpm.conf
    /usr/sbin/php-fpm
    /usr/share/doc/php-fpm-5.4.16
    /usr/share/doc/php-fpm-5.4.16/fpm_LICENSE
    /usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default
    /usr/share/fpm
    /usr/share/fpm/status.html    #内置的网页状态测试页面
    /usr/share/man/man8/php-fpm.8.gz
    /var/log/php-fpm
    [root@~ localhost]#vi /etc/php-fpm.conf 
    
    ;;;;;;;;;;;;;;;;;;;;;
    ; FPM Configuration ;
    ;;;;;;;;;;;;;;;;;;;;;
    
    ;;;;;;;;;;;;;;;;;;
    ; Global Options ;  #全局配置选项
    ;;;;;;;;;;;;;;;;;;
    
    [global]
    ; Pid file
    ; Default Value: none
    pid = /run/php-fpm/php-fpm.pid    #内存中的进程编号文件
    
    ; Error log file
    ; Default Value: /var/log/php-fpm.log
    error_log = /var/log/php-fpm/error.log    #错误日志文件
    
    ; Log level
    ; Possible Values: alert, error, warning, notice, debug
    ; Default Value: notice
    ;log_level = notice              #定义日志级别
    
    ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
    ; Default Value: yes
    daemonize = no          #是否以守护进程的方式运行,no表示不是
    
    ;;;;;;;;;;;;;;;;;;;;
    ; Pool Definitions ;        #定义连接池,对应的文件是:/etc/php.-fpm.d/www.conf
    ;;;;;;;;;;;;;;;;;;;;
    
    ; See /etc/php-fpm.d/*.conf
        
    #fpm模式监听的端口是9000
    [root@php-fpm.d localhost]#cp -av www.conf{,.bak} #修改配置文件时先备份 ‘www.conf’ -> ‘www.conf.bak’ [root@php-fpm.d localhost]#vi www.conf ; Start a new pool named 'www'. [www] ; Note: This value is mandatory. listen = 127.0.0.1:9000    #监听本地的ip和端口; ; Set listen(2) backlog. A value of '-1' means unlimited. ; Default Value: -1

    ;listen.backlog = -1      #后援队列:当请求数大于并发数时,设置排队等待的请求数;-1表示无限制

    listen.allowed_clients = 127.0.0.1  #授权设置,允许那些主机可以连接本服务主机;若httpd在别的主机,则需要修改

    user = apache        #运行进程的用户
    ; RPM: Keep a group allowed to write in log dir.
    group = apache        #运行进程的组 

    #运行子进程的方式:static 静态方式 和dynamic 动态方式

    ; Choose how the process manager will control the number of child processes.
    ; Possible Values:
    ; static - a fixed number (pm.max_children) of child processes;
    ; dynamic - the number of child processes are set dynamically based on the
    ; following directives:
    ; pm.max_children - the maximum number of children that can
    ; number then some children will be killed.
    ; Note: This value is mandatory.
    pm = dynamic  #以动态方式运行

    ; The number of child processes to be created when pm is set to 'static' and the
    ; maximum number of child processes to be created when pm is set to 'dynamic'.
    ; This value sets the limit on the number of simultaneous requests that will be
    ; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
    ; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
    ; CGI.
    ; Note: Used when pm is set to either 'static' or 'dynamic'
    ; Note: This value is mandatory.
    pm.max_children = 50    #最大子进程数

    ; The number of child processes created on startup.
    ; Note: Used only when pm is set to 'dynamic'
    ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
    pm.start_servers = 5    #服务启动,先创建的服务数量

    ; The desired minimum number of idle server processes.
    ; Note: Used only when pm is set to 'dynamic'
    ; Note: Mandatory when pm is set to 'dynamic'
    pm.min_spare_servers = 5  #启动的最小空闲服务数量,应大于启动时创建的服务数

    ; The desired maximum number of idle server processes.
    ; Note: Used only when pm is set to 'dynamic'
    ; Note: Mandatory when pm is set to 'dynamic'
    pm.max_spare_servers = 35  #启动的最大空闲服务数量

    ; The number of requests each child process should execute before respawning.
    ; This can be useful to work around memory leaks in 3rd party libraries. For
    ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
    ; Default Value: 0
    ;pm.max_requests = 500  #每个子进程最多响应多少个请求,然后关闭

    ; The URI to view the FPM status page. If this value is not set, no URI will be
    ; recognized as a status page. By default, the status page shows the following
    ; information:
    ; accepted conn - the number of request accepted by the pool;
    ; pool - the name of the pool;
    ; may conflict with a real PHP file.
    ; Default Value: not set
    pm.status_path = /pmstatus  #启用此行,内置状态页,改成pmstatus

    ; may conflict with a real PHP file.
    ; Default Value: not set
    ping.path = /ping    #服务器远程健康状况探测,检测服务器是否正常

    ; This directive may be used to customize the response of a ping request. The
    ; response is formatted as text/plain with a 200 response code.
    ; Default Value: pong
    ping.response = pong  #探测回应

    ; The timeout for serving a single request after which the worker process will
    ; be killed. This option should be used when the 'max_execution_time' ini option
    ; does not stop script execution for some reason. A value of '0' means 'off'.
    ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
    ; Default Value: 0
    ;request_terminate_timeout = 0  #响应超时时间,0表示不超时

    ; The timeout for serving a single request after which a PHP backtrace will be
    ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
    ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)

    ; Set max core size rlimit.
    ; Possible Values: 'unlimited' or an integer greater or equal to 0
    ; Default Value: system defined value
    ;rlimit_core = 0

    ; prevent configuration mistakes on the web server side. You should only limit
    ; FPM to .php extensions to prevent malicious users to use other extensions to
    ; exectute php code.
    ; Note: set an empty value to allow all extensions.
    ; Default Value: .php
    ;security.limit_extensions = .php .php3 .php4 .php5

    ; Additional php.ini defines, specific to this pool of workers. These settings
    ; overwrite the values previously defined in the php.ini. The directives are the
    ; same as the PHP SAPI:
    ; php_value/php_flag - you can set classic ini defines which can

    pm.min_spare_servers = 5

    ; The desired maximum number of idle server processes.
    ; Note: Used only when pm is set to 'dynamic'
    ; Note: Mandatory when pm is set to 'dynamic'
    pm.max_spare_servers = 35

    ; The number of requests each child process should execute before respawning.
    ; This can be useful to work around memory leaks in 3rd party libraries. For
    ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
    ; Default Value: 0
    ;pm.max_requests = 500

    php_value[session.save_handler] = files

    php_value[session.save_path] = /var/lib/php/session  

    #服务器端保存的会话的路径,默认没有创建,需手动创建,并将属主和属组修改修改成此进程的属主和属组,即apache:apache

    "www.conf" 226L, 10018C       

    [root@php-fpm.d localhost]#mkdir -pv /var/lib/php/session  #创建会话的文件
    [root@php-fpm.d localhost]#chown apache:apache /var/lib/php/session  #修改文件的属组属组为apache:apache
    [root@php-fpm.d localhost]#systemctl start php-fpm.service  #启动php-fpm服务
    [root@php-fpm.d localhost]#ss -ntl |grep "9000"        #检查9000端口是否启动
    LISTEN     0      128    127.0.0.1:9000                     *:* 
    [root@php-fpm.d localhost]#ps aux | grep "php-fpm"      #检查主进程和子进程是否按照配置生成
    root      43438  0.8  1.1 330704 10440 ?        Ss   13:05   0:00 php-fpm: master process (/etc/php-fpm.conf)
    apache    43440  0.0  0.5 332788  5060 ?        S    13:05   0:00 php-fpm: pool www
    apache    43441  0.0  0.5 332788  5060 ?        S    13:05   0:00 php-fpm: pool www
    apache    43442  0.0  0.5 332788  5060 ?        S    13:05   0:00 php-fpm: pool www
    apache    43443  0.0  0.5 332788  5060 ?        S    13:05   0:00 php-fpm: pool www
    apache    43444  0.0  0.5 332788  5060 ?        S    13:05   0:00 php-fpm: pool www
    root      43465  0.0  0.1 112648   964 pts/5    S+   13:07   0:00 grep --color=auto php-fpm
  • 相关阅读:
    静态与动态数据分析的测试方法
    网址无法访问,显示服务器拒绝了请求
    stf浏览器端删除离线设备
    STF日志提示 Not found ; no service started
    通过adb命令获取apk的安装路径
    js页面打开方式
    windows和mac回退及撤销快捷键
    单元测试规范
    Git :fatal: refusing to merge unrelated histories解决
    mysql详解4:分组
  • 原文地址:https://www.cnblogs.com/wzhuo/p/6936999.html
Copyright © 2011-2022 走看看