Linux-LNMP-php-fpm

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-LNMP-php-fpm相关的知识,希望对你有一定的参考价值。

Linux-LNMP-php-fpm

  • php-fpm的pool
  • php-fpm慢执行日志
  • open_basedir
  • php-fpm进程管理

php-fpm的pool
定义多个php-fpm的pool

在/usr/local/php-fpm/etc/php-fpm.conf文件中定义多个pool.每个定义的pool名不一样,每个pool里的监听sock或ip:port应该不一样,在对应的nginx的虚拟主机中也要修改监听的sock或ip:port.

vim /usr/local/php-fpm/etc/php-fpm.conf //在[global]部分增加
include = etc/php-fpm.d/*.conf
mkdir /usr/local/php-fpm/etc/php-fpm.d/
vim /usr/local/php-fpm/etc/php-fpm.d/analysis.conf
[analysis]
listen = /tmp/analysis-fcgi.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

php-fpm的慢执行日志

vim /usr/local/php-fpm/etc/php-fpm.d/default.conf  //增加如下两行
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/default-slow.log
grep listen /usr/local/php-fpm/etc/php-fpm.d/default.conf //以下两行是查出的内容
listen = /tmp/php-fcgi.sock
listen.mode = 666
grep fastcgi_pass /usr/local/nginx/conf/vhost/default.conf  //以下是查询得出的结果
fastcgi_pass unix:/tmp/php-fcgi.sock;

添加测试页面

vim /data/wwwroot/default/slow.php //以下是文件内容
<?php
    echo "start";
    sleep(2);
    echo "end";
?>

测试,查日志

 curl -x127.0.0.1:80 www.default.com/slow.php
 cat /usr/local/php-fpm/var/log/default-slow.log  //以下是日志信息
 [02-Mar-2018 10:04:20]  [pool default] pid 49346
script_filename = /data/wwwroot/default/slow.php
[0x00007fc9e507f280] sleep() /data/wwwroot/default/slow.php:3

open_basedir
编辑php[pool]的配置文件

vim /usr/local/php-fpm/etc/php-fpm.d/default.conf  //加入以下内容
php_admin_value[open_basedir]=/data/wwwroot/default:/tmp

重新加载配置文件,再进行测试

/etc/init.d/php-fpm reload 
curl -x127.0.0.1:80 www.default.com/slow.php

以上是关于Linux-LNMP-php-fpm的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数