实验环境:CentOS7

  1. [root@~ localhost]#yum -y install php-fpm
  2. php-fpm包:用于将php运行于fpm模式
  1. #在安装php-fpm时,一般同时安装如下包
  2. [root@~ localhost]#yum -y install php-mbstring php-mcrypt php-mysql
  1. [root@~ localhost]#rpm -ql php-fpm
  2. /etc/logrotate.d/php-fpm
  3. /etc/php-fpm.conf #服务配置文件
  4. /etc/php-fpm.d
  5. /etc/php-fpm.d/www.conf #主配置文件
  6. /etc/sysconfig/php-fpm
  7. /run/php-fpm
  8. /usr/lib/systemd/system/php-fpm.service
  9. /usr/lib/tmpfiles.d/php-fpm.conf
  10. /usr/sbin/php-fpm
  11. /usr/share/doc/php-fpm-5.4.16
  12. /usr/share/doc/php-fpm-5.4.16/fpm_LICENSE
  13. /usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default
  14. /usr/share/fpm
  15. /usr/share/fpm/status.html #内置的网页状态测试页面
  16. /usr/share/man/man8/php-fpm.8.gz
  17. /var/log/php-fpm
  18. [root@~ localhost]#vi /etc/php-fpm.conf
  19.  
  20. ;;;;;;;;;;;;;;;;;;;;;
  21. ; FPM Configuration ;
  22. ;;;;;;;;;;;;;;;;;;;;;
  23.  
  24. ;;;;;;;;;;;;;;;;;;
  25. ; Global Options ;  #全局配置选项
  26. ;;;;;;;;;;;;;;;;;;
  27.  
  28. [global]
  29. ; Pid file
  30. ; Default Value: none
  31. pid = /run/php-fpm/php-fpm.pid    #内存中的进程编号文件
  32.  
  33. ; Error log file
  34. ; Default Value: /var/log/php-fpm.log
  35. error_log = /var/log/php-fpm/error.log    #错误日志文件
  36.  
  37. ; Log level
  38. ; Possible Values: alert, error, warning, notice, debug
  39. ; Default Value: notice
  40. ;log_level = notice              #定义日志级别
  41.  
  42. ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
  43. ; Default Value: yes
  44. daemonize = no          #是否以守护进程的方式运行,no表示不是
  45.  
  46. ;;;;;;;;;;;;;;;;;;;;
  47. ; Pool Definitions ;        #定义连接池,对应的文件是:/etc/php.-fpm.d/www.conf
  48. ;;;;;;;;;;;;;;;;;;;;
  49.  
  50. ; See /etc/php-fpm.d/*.conf
  1. #fpm模式监听的端口是9000
    [root@php-fpm.d localhost]#cp -av www.conf{,.bak} #修改配置文件时先备份
  2. www.conf -> www.conf.bak
  3. [root@php-fpm.d localhost]#vi www.conf
  4.  
  5. ; Start a new pool named 'www'.
  6. [www]
  7. ; Note: This value is mandatory.
  8. listen = 127.0.0.1:9000    #监听本地的ip和端口;
  9.  
  10. ; Set listen(2) backlog. A value of '-1' means unlimited.
  11. ; 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

  1. [root@php-fpm.d localhost]#mkdir -pv /var/lib/php/session  #创建会话的文件
  2. [root@php-fpm.d localhost]#chown apache:apache /var/lib/php/session  #修改文件的属组属组为apache:apache
  3. [root@php-fpm.d localhost]#systemctl start php-fpm.service  #启动php-fpm服务
  4. [root@php-fpm.d localhost]#ss -ntl |grep "9000"        #检查9000端口是否启动
  5. LISTEN 0 128 127.0.0.1:9000 *:*
  6. [root@php-fpm.d localhost]#ps aux | grep "php-fpm"      #检查主进程和子进程是否按照配置生成
  7. root 43438 0.8 1.1 330704 10440 ? Ss 13:05 0:00 php-fpm: master process (/etc/php-fpm.conf)
  8. apache 43440 0.0 0.5 332788 5060 ? S 13:05 0:00 php-fpm: pool www
  9. apache 43441 0.0 0.5 332788 5060 ? S 13:05 0:00 php-fpm: pool www
  10. apache 43442 0.0 0.5 332788 5060 ? S 13:05 0:00 php-fpm: pool www
  11. apache 43443 0.0 0.5 332788 5060 ? S 13:05 0:00 php-fpm: pool www
  12. apache 43444 0.0 0.5 332788 5060 ? S 13:05 0:00 php-fpm: pool www
  13. root 43465 0.0 0.1 112648 964 pts/5 S+ 13:07 0:00 grep --color=auto php-fpm
 

https://www.cnblogs.com/wzhuo/p/6936999.html

PHP-FPM包的安装与配置 转的更多相关文章

  1. php-fpm包的安装与配置

    实验环境:CentOS7 [root@~ localhost]#yum -y install php-fpm php-fpm包:用于将php运行于fpm模式 #在安装php-fpm时,一般同时安装如下 ...

  2. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  3. Charles抓包工具安装与配置

    在实际开发中,我们需要时常抓取线上的请求及数据,甚至是请求的html文档,js,css等静态文件来进行调试.在这里,我使用charles来进行以上操作.但是呢,charles需要进行一系列配置才能达到 ...

  4. mysql二进制包安装与配置实战记录

    导读 一般中小型网站的开发都选择 MySQL 作为网站数据库,由于其社区版的性能卓越,搭配 PHP .Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种 ...

  5. zabbix安装及配置(rpm包安装mysql,php,apache,zabbix)

    zabbix安装及配置 一.安装mysql.php.apache.zabbix 安装环境: 操作系统:rhel6.3-x86-64  mysql:5.6.23   --官网下载rpm包安装php:5. ...

  6. 使用RPM包安装、配置和拆卸MySQL

    通过rpm包安装.配置及卸载mysql的详细过程. 以MySQL-server-4.0.14-0.i386.rpm为例,放在/usr/src目录下 cd /usr/src rpm -ivh MySQL ...

  7. Linux_CentOS软件安装调试 源代码包编译安装和 二进制包配置

    Linux 下源代码(C 语言)如何编译(安装) 1. 先安装源代码编译的软件 gcc,make,openssl 如下: yum install -y gcc make gcc-c++ openssl ...

  8. 抓包工具fiddler下载配置(一):下载/安装&信任证书

    简介 Fiddler一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件 ...

  9. linux的软件管理的rpm包和yum配置加tar解压包和安装编译./configuer

    软件管理 rpm包  和yum 1.软件形式 Linux系统的第三方软件,无论是应用软件还是工具软件,大多以以下两种形式之一发行: 源代码形式       预编译形式 获取的源代码形式的软件,需要对其 ...

随机推荐

  1. Go Http包解析:为什么需要response.Body.Close()

    简单来讲就是:为了提高效率,http.Get 等请求的 TCP 连接是不会关闭的(再次向同一个域名请求时,复用连接),所以必须要手动关闭. 2019-01-24 10:43:32 更新 不管是否使用 ...

  2. python中unittest查找测试用例

    将整个BeautifulReport文件夹放到site-packages目录下

  3. Android端代码染色原理及技术实践

    导读 高德地图开放平台产品不断迭代,代码逻辑越来越复杂,现有的测试流程不能保证完全覆盖所有业务代码,测试不到的代码及分支,会存在一定的风险.为了保证测试全面覆盖,需要引入代码覆盖率做为测试指标,需要对 ...

  4. Kafka 【入门一篇文章就够了】

    初识 Kafka 什么是 kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订 ...

  5. MYsql添加用户、赋予权限

    1.创建新用户 CREATE USER 'admin'@'%' IDENTIFIED BY '123456'; '%' 表示可以远程登录访问.操作 ‘localhost’ 表示只能本地登录访问.操作2 ...

  6. JVM运行时数据区划分

    Java内存空间 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行.JVM内存布局规定了JAVA在运行过程中内存申请.分配.管理的策略,保证了JVM的高效稳 ...

  7. C#开发PACS医学影像处理系统(十七):2D处理之影像旋转和翻转

    1.任意角度旋转 在XAML设计器中,设置RotateTransform属性 <InkCanvas x:Name="ToolInkCanvas" UseCustomCurso ...

  8. Java审计之文件操作漏洞

    Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...

  9. CMake 常用命令

    cmake是现在主流的用于多平台C++构建系统,本文用来记录cmake的一些常用命令的索引,加上一些自己理解,理解有误的话,欢迎大家指出. 常用路径 CMAKE_SOURCE_DIR: 顶级cmake ...

  10. Linux 文件系统之入门必看!

    在 Linux 中,最直观.最可见的部分就是 文件系统(file system).下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及文件系统实现背后的原理和思想.这些思想中有一些来 ...