php-fpm配置文件详解

php-fpm配置文件

  • php-fpm配置文件路径: /usr/local/php-fpm/etc/php-fpm.conf ,还包含了一个配置文件路径下的所有以.conf结尾的配置文件(子配置文件)/usr/local/php-fpm/etc/php-fpm.d/*.conf。子配置文件会覆盖主配置文件。

php-fpm.ini配置文件

[root@localhost php-fpm.d]# ls /usr/local/php-fpm/etc/php.ini

  • 如果不知道php.ini文件的位置,可以使用phpinfo 的方式来查看,在一个站点路径下写一个phpinfo.php的文件
vi /data/wwwroot/bbs.aaa.com/phpinfo.php
<?php
phpinfo();
?>
  • 在浏览器中访问此页面,不但可以找到php.ini的位置,还可以看到PHP的编译参数。该操作实验环境可以,真实生产环境会带来很大的安全隐患,不建议使用。
  • 真实生产环境中可以使用如下命令来查看php.ini的位置
 /usr/local/php-fpm/bin/php -i | head
  • php.ini是PHP运行的核心配置文件
  • php.ini配置文件很长,差不多有2000行
####避免PHP的信息暴露在http的访问界面上#########
expose_php = Off
####避免将错误信息暴露在http的访问界面############
display_errors = Off
####在关闭display_errors后,为了方便排障,开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On

php-fpm.conf配置文件

  • pid文件
[global]
; Pid file                                            ## pid文件
; Note: the default prefix is /usr/local/php-fpm/var  ## pid文件默认路径
; Default Value: none
;pid = run/php-fpm.pid                                ## 设置pid文件位置  
  • 错误日志文件

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written   ## 如果设置为syslog,log就会发送给syslogd服务而不会写进文件里。
; into a local file.
; Note: the default prefix is /usr/local/php-fpm/var                         ## 错误日志默认存放路径
; Default Value: log/php-fpm.log
;error_log = log/php-fpm.log                                                 ##错误日志位置
  • 日志级别
; Log level                    ## 日志级别包括下一行这些
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
;log_level = notice            ## 默认日志级别是notice
  • 子配置文件
include=/usr/local/php-fpm/etc/php-fpm.d/*.conf      ## 在该路径下的所有子配置文件

www.conf配置文件

  • pool 名字:[www]可以自定义,启动后,ps aux |grep php-fpm 在最右侧可以看到pool的名字。
[root@localhost etc]# ps aux |grep php-fpm
root      10534  0.0  0.1 230376  6036 ?        Ss   07:54   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm   10535  0.0  0.1 230376  5944 ?        S    07:54   0:00 php-fpm: pool www
php-fpm   10536  0.0  0.1 230376  5944 ?        S    07:54   0:00 php-fpm: pool www
root      10543  0.0  0.0 112708   980 pts/1    S+   07:55   0:00 grep --color=auto php-fpm
  • listen 指定监听的ip:port 或者socket文件,这个地址或者socket文件需要和nginx配置文件里面的fastcgi_pass所指定的一致,否则在访问的时候就会报错502
  • 如果是监听的socket文件,那么要保证nginx服务用户(nginx)对该socket文件有读写权限,否则也是会报错。
listen.mode 指定socket文件的权限
pm = dynamic 动态模式
pm.max_children = 5 最大进程数
pm.start_servers = 2 启动几个子进程
pm.min_spare_servers = 1  空闲时,最少不能少于几个子进程
pm.max_spare_servers = 3  空闲时,最多不能多于几个子进程

php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL
  • 配置slow日志
slowlog = /tmp/php.slow
    request_slowlog_timeout = 1
  • 配置open_basedir
php_admin_value[open_basedir] = /data/wwwroot/bbs.aaa.com/tmp
  • 配置多个pool
定义多个配置文件,在配置文件中指定不同的listen地址  不同的 [pool_name]
[blog]
user = php-fpm
group = php-fpm
listen = /tmp/blog.socket
listen.mode = 0666
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
slowlog = /tmp/php.slow
request_slowlog_timeout = 1
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL
php_admin_value[open_basedir] = /data/wwwroot/blog.aminglinux.cc:/tmp

[bbs]
user = php-fpm
group = php-fpm
listen = /tmp/bbs.socket
listen.mode = 0666
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
slowlog = /tmp/php.slow
request_slowlog_timeout = 1
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL
php_admin_value[open_basedir] = /data/wwwroot/bbs.aminglinux.cc:/tmp
  • 补充:当使用curl命令访问https的网站
curl -k -H "host:bbs.aaa.com" https://127.0.0.1/phpinfo.php

转载于:https://my.oschina.net/u/3731306/blog/3013993

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值