php-fpm的pool池子、php慢日志记录、open_basedir、php-fpm进程管理
1、php-fpm的poo池子:
目的:可以让不同的网站,对于不同的php解析,可以把不同的网站解析区分开。
编辑:vim /usr/local/php5-fpm/etc/php-fpm.conf
加入:
[test]
listen = /tmp/php-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
语法检查:/usr/local/php5-fpm/sbin/php-fpm -t
重新加载php-fpm:/etc/init.d/php-fpm reload
查看:ps -aux | grep php-fpm

查看:
在配制nginx虚拟主机的时候就可以对应着改了,比如在server里面加入以下代码:
location ~ \.php$
{
#把php整合
include fastcgi_params;
fastcgi_pass unix:/tmp/php-test.sock;
#fastcgi_pass 127.0.0.1:8080;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
}

再重新加载nginx之后,解析就会分开了。
这样子,就可以配制网站不同的php解析了,但还可以进行优化,修改成如下:
修改:/usr/local/php5-fpm/etc/php-fpm.conf
改成:
[global]
pid = /usr/local/php5-fpm/var/run/php-fpm.pid
error_log = /usr/local/php5-fpm/var/log/php-fpm.log
include=/usr/local/php5-fpm/etc/vconf/*
在/usr/local/php5-fpm/etc/下创建vconf目录:mkdir /usr/local/php5-fpm/etc/vconf/
在创建对应虚拟机的配制文件:vim /usr/local/php5-fpm/etc/vconf/test.conf 并加入相关代码:
[name_xxxx] #对应的解析池名可以自己随便取
listen = /tmp/vconf.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/php5-fpm/sbin/php-fpm -t
然后重新加载:/etc/init.d/php-fpm reload

查看:
以后,就可以在vconf下设置,不同虚拟机的php解析池了。
2、php慢日志记录
目的:为了找出网站慢的原因
编辑访问慢的主机的配制文件:vim /usr/local/php5-fpm/etc/vconf/test.conf
追加:
request_slowlog_timeout = 1 #这里默认一般设置为2秒
slowlog = /usr/local/php5-fpm/var/log/test-slow.log
检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
然后重新加载:/etc/init.d/php-fpm reload

写一个php文件,加入以下代码进行测试:
<?php
echo "vconf_test..com _php; test slow log";sleep(2);
?>
然后进行访问:
到此慢日志记录配制完成。
3、open_basedir 目录权限访问控制
目的:设置目录权限访问控制
编辑:vim /usr/local/php5-fpm/etc/vconf/test.conf
追加:php_admin_value[open_basedir]=/var/www/test.com:/tmp/ #这里表示,允许访问的权限只有/var/www/test.com 和 /tmp/目录
(可以这样子理解,即php模块进行解析时,只能运行在这2个目录下)

检查语法:/usr/local/php5-fpm/sbin/php-fpm -t
然后重新加载:/etc/init.d/php-fpm reload
若把/usr/local/nginx/conf/vhost/test.com.conf 的root 目录改为/var/www/222目录,尝试访问:
然后,我们进行测试:
总结:
php解析模块里面的配制文件
(/usr/local/php5-fpm/etc/vconf/test.conf )文件的 解析目录(php_admin_value[open_basedir]=/var/www/test.com:/tmp/ )的权限 限定,和
nginx配制文件
(/usr/local/nginx/conf/vhost/test.com.conf)中的php整合模块(fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;)
的php文件存放的路径要一样。若不一样,访问php文件时,则会显示:No input file specified.(即找不到指定文件)
若nginx配制文件
(/usr/local/nginx/conf/vhost/test.com.conf)中的root /var/www/test.com;和fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
的路径不一样的话,那么访问php文件时,就显示File not found(即找不到文件)。
4、php-fpm进程管理
编辑:vim /usr/local/php5-fpm/etc/vconf/test.conf 文件,对其配制,根据自己机器的实际情况进行配制。
[vconf]
listen = /tmp/vconf.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
;pm =static
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
request_slowlog_timeout = 1
slowlog = /usr/local/php5-fpm/var/log/test-slow.log
php_admin_value[open_basedir]=/var/www/test.com/:/tmp/

到此 lnmp 相关学习完闭。
php-fpm的pool池子、php慢日志记录、open_basedir、php-fpm进程管理的更多相关文章
- php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
6月13日任务 12.21 php-fpm的pool12.22 php-fpm慢执行日志12.23 open_basedir12.24 php-fpm进程管理 12.21 php-fpm的pool p ...
- Linux centosVMware LAMP php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
一.php-fpm的pool vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加 include = etc/php-fpm.d/*.conf mkd ...
- php-fpm的pool php-fpm慢执行日志 open_basedir php-fpm进程管理
php-fpm的pool • vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加 • include = etc/php-fpm.d/*.conf • ...
- Linux centosVMware php-fpm的pool、php-fpm慢执行日志、open_basedir
一.php-fpm的pool vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加 include = etc/php-fpm.d/*.conf mkd ...
- [Linux] PHP-FPM开启慢日志记录
fpm:FastCGI Process Manager 是一种替代的PHP FastCGI实现,对于负载较重的站点非常有用. .先进的进程控制,优雅的停止启动 .能够使用不同的uid/gid/chro ...
- FastCGI 进程管理器(FPM)
FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: 支持平滑停止/启动的高级进程管理功能: 可以工作于不同的 uid/ ...
- Hibernate 使用log4j日志记录
日志记录使程序员能够将日志详细信息永久写入文件.这是我们以后在开发当中非常重要的一步. Hibernate使用log4j日志记录,我们需要以下几个步骤: 1.导入jar包: (1)这是hibernat ...
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
Go/Python/Erlang编程语言对比分析及示例 本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...
- 前端学HTTP之日志记录
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...
随机推荐
- 微服务之SpringCloud基础
SpringCloud微服务基础 微服务架构--SpringCloud网站架构模式 单点应用/分布式系统面向于服务架构(SOA) /微服务架构web项目三层架构1.控制层2.业务逻辑层3.数据访问层传 ...
- 方便好用的 Idea mybatis 插件 MyBatisCodeHelper
优点: 1.mapper文件(即表对应的dao)与xml文件自由切换,方便代码评审: 2.自动代码生成功能提高开发效率,mysql数据库创建好表结构,写完 pojo(注意字段类型要统一用对象类型!), ...
- JS--理解参数,argument,重载
ECMAScript函数的参数与大多数其他语言函数的参数不同.ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么数据类型. 原由在于,ECMAScript中的参数在内部是用 ...
- js中有哪几种函数?
匿名函数,回调函数,递归函数,构造函数
- bzoj1692
题解: 二分最近的不相同 然后hash判断是否相同 然后贪心 代码: #include<bits/stdc++.h> using namespace std; #define ull un ...
- import 语句
声明package的语句必须在java类的有效代码第一行,所import语句要放在package 声明语句之后. import的语法格式为: import+空格+类全限定名+: 该语句的作用是, ...
- 【JAVA多线程】interrupted() 和 isInterrupted() 的区别
Thread 类中提供了两种方法用来判断线程的状态是不是停止的.就是我们今天的两位主人公 interrupted() 和 isInterrupted() . interrupted() 官方解释:测试 ...
- 2018-2019-2 20175224 实验三《敏捷开发与XP实验》实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:艾星言 学号:20175224 指导教师:娄嘉鹏 实验日期:2019年4月29日 实验时间:13:45 - 15:25 实验序号:24 ...
- Nodejs安装express提示不是内部或外部命令
安装nodejs安装包后,通过npm安装express后,运行express提示" express"不是内部或外部命令. c:\express -t ejs web 原因是版本问题 ...
- 利用itext生成pdf的简单例子
一.itext简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文 ...