1.5-php-fpm配置文件

/usr/local/php/etc/php-fpm.conf   是php服务的配置

/usr/local/php/etc/php.ini        是php软件的全局配置.如:时钟

主要配置的是php服务的配置,自带服务样板很乱,首先清空,插入代码

> /usr/local/php/etc/php-fpm.conf        清空文件

vim /usr/local/php/etc/php-fpm.conf       其实删除注释后,也就是下面的代码

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

[www]

listen = /tmp/php-fcgi.sock         监听的方式,一般为sockte 可以自定义,自动生成

user = php-fpm

group = php-fpm

pm = dynamic                  动态的,管理下面的代码

pm.max_children = 50          最大50个子进程

pm.start_servers = 20         一开始启动20子子进程,即启动php就启动20个进程

pm.min_spare_servers = 5      最小子进程5个

pm.max_spare_servers = 35     最多35个子进程

pm.max_requests = 500         一个子进程在它的生命周期内,一共处理500个请求。自动销毁

rlimit_files = 1024           每一个进程,它所使用的文件描述符的限制,大点也没关系

slowlog = /tmp/www_slow.log   追踪网站,排查网站慢的日志

request_slowlog_timeout = 1   脚本超时1秒,记录到上条路径的slow.log中

php_admin_value[open_basedir]=/data/www/:/tmp/  指定php有权限的目录

代码分为两个部分

1.global 全局配置,主要是pid和错误日志

2.www为服务配置,

如果配置中pm = static 那么只有pm.max_children = 50生效,也就是启动就有50个进程,其它不生效。

建议使用dynamic 一开始会启动20个pool,如果空闲,则一个个销毁,直到最小5个为止。

多个pool的配置 不同域名,对应不同pool。有2个好处,1可以为不同的网站赋予不同的权限2一个网站挂掉,不影响其他pool的网站。

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

[www]

listen = /tmp/www.sock

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

slowlog = /tmp/www_slow.log

request_slowlog_timeout = 1

[www1]                    改动1

listen = /tmp/www1.sock   改动2

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

slowlog = /tmp/www1_slow.log

request_slowlog_timeout = 1

课后答疑:

1:有两个问题1 这个listen = /tmp/php-fcgi.sock 什么时候写sock 什么时候用127.0.0.1:9000呢?

2 php-fmp里面php_admin_value[open_basedir] =/data/www/ 和nginx里面的虚拟主机配置文件root /data/aaa 如果这两个同时配置了那个目录会生效呢?

答:1. listen你愿意用哪个就哪个,都差不多,但有的人认为socket性能要比ip:port的形式高效,在我看来都差不多。

2. nginx配置的只是一个网站根目录,而php里面的open_basedir 是限定php的,你这样设置后,发现你的网站根本就不能运行了。

2:php-fpm设置了多个池子,如果需要每个pool指定不同的用户,那用户是在php编译安装时在这里--with-fpm-user=php-fpm如何绑定多个用户呢

答:上面那个是默认的,我们还可以在配置文件里定义额外的。

3:理解不了socket是什么

答:就是用来通信的文件,类似tcp/ip的通信机制,这种文件是unix/linux系统里面特有的。像mysql的数据通信,我们就可以使用socket文件通信。

时间: 2024-10-18 04:11:21

1.5-php-fpm配置文件的相关文章

FastCGI 进程管理器(FPM)

FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: 支持平滑停止/启动的高级进程管理功能: 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置): stdout 和 stderr 日志记录; 在发生意外情况的时候能够重新启动并缓存被破坏的 opcode; 文件上传优化支持; "慢日志" - 记录脚本(不仅记录文

3 FastCGI 进程管理器(FPM)

1 FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: ● 支持平滑停止/启动的高级进程管理功能: ● 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置): ● stdout 和 stderr 日志记录; ● 在发生意外情况的时候能够重新启动并缓存被破坏的 opcode; ● 文件上传优化支持; ● "慢日志"

高性能Web服务之nginx应用详解

一.Nginx特性 * *模块化,目前只能将模块编译进Nginx,暂时不支持动态装卸模块.(httpd优势) * *可靠性,一个主进程(master)控制多个工作进程(worker),工作进程响应用户多个请求(httpd劣势) * *低内存消耗,(httpd劣势) * *支持热部署,(httpd相同) * *支持事件驱动I/O,AI/O,支持mmap(httpd2.4才算支持event,劣势) 二.Nginx基本架构 Nginx由一个master进程生成多个worker进程,每个worker进程

Lnmp 搭建(nginx,mysql,php,memcache,tomcat)

实验环境:rhel6.5  seliunx and iptables disabled nginx                  1.6.2 mysql                 5.5.12 php                   5.4.36 memcached           1.4.4 server1  172.25.12.1    tomcat     nginx    mysql     php              memcached server2    1

CentOS7下搭建LNMP记录

OS:使用虚拟机最小化安装的CentOS 7系统:配置好防火墙,SELINUX,YUM源,IP地址等. 0.因为采用了最小化安装系统,所缺少的包比较多,必要工具先安装一下 1 yum install gcc gcc-c++ wget vim lrzsz 数据库安装 一.删除系统中已存在的MySQL 1 ##删除MySQL的lib库,服务文件 2 yum remove mysql mysql-server mysql-libs mysql-server 3 4 ##查找MySQL的残留文件 5 f

php编译安装要点

php版本: php-5.6.8.tar.bz2 常用参数--prefix=/usr/local/php #位置--with-mysql=/usr/local/mysql  #php依赖于mysql--with-openssl #openssl支持--with-mysqli=/usr/local/mysql/bin/mysql_config #mysqli另一种php和mysql交互的方式--with-freetype-dir #自动引用网页上的字体--with-jpeg-dir #图片压缩格式

Ubuntu上配置nginx+php+fastcgi的流程

这两天需要在Ubuntu14.04上搭建nginx和php的环境,配置的过程中在fastcgi的问题上花了很多时间,网上的资料大多年久失修,于是决定将整个过程记录下来,分享给大家. 准备: apt-get update 1. 安装nginx并启动 apt-get install nginx sudo /etc/init.d/nginx start 2. 安装php及相关 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php

调试利器Xhprof的安装与使用

一.安装xhprof wget http://pecl.php.net/get/xhprof-0.9.4.tgz tar -zxvf xhprof-0.9.4.tgz cd xhprof-0.9.4/extension/ phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install 二.配置PHP.ini [xhprof] extension=xhprof.so; ; dire

centos 7 min 编译安装php5.6+nginx1.7.5 笔记

centos 7 min 编译安装php5.6+nginx1.7.5 笔记 1.安装mysql请参照 centos 7 min 编译安装mysql5.6.20 笔记 2.编译安装php5.6+nginx1.7.5 2.1.安装php5.6.0 首先添加依赖应用 yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-dev

LAMP之三(编译安装httpd-fpm)

linux+httpd+php-fpm+mysql 编译安装 环境: iptables.selinux关闭状态 系统: CentOS release 6.7 (Final) yum源:epel,cdrom 软件: php-5.6.17 下载页面:http://php.net/downloads.php httpd 2.4.18 下载页面:http://httpd.apache.org/download.cgi#apache24 mariadb 前面有专门编译的了,这里就直接yum安装了. 编译安