php-fpm 配置文件

先清空php-fpm.conf

> /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
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

说明
global部分是全局配置,指定pid文件路径已经error_log 路径。

[www] 是一个pool,其实我们还可以再写第二个pool,第二个pool和第一个不一样的地方,首先pool的name,比如叫做[www2]。然后listen肯定就不一样了,比如可以listen=/tmp/php-fcgi2.sock。而user,group也可以和[www]定义不一样。listen.owner这个是定义/tmp/php-fcgi.sock 这个文件的所有者是谁,在php4.5版本之后监听的socket文件权限默认变成了rw——-,如果不定义listen.owner 那么nginx调用这个socket的时候就没有权限了,故在这里我们定义listen.owner为nginx的子进程监听用户。

pm = dynamic 表示以动态的形式启动,在php5.3 版本以后它可以支持动态和静态了,如果是静态,即 pm=static 时,下面的配置只有 pm.max_children 管用。

pm.max_children 表示启动几个php-fpm 的子进程。如果是 dynamic,下面的配置会生效, pm.max_children 表示最大可以启动几个子进程。

pm.start_services 表示一开始有几个子进程

pm.min_spare_servers = 5 表示当php-fpm 空闲时最少要有几个子进程,即如果空闲进程小于此值,则创建新的子进程。

pm.max_spare_servers = 35 表示当php-fpm 空闲时最多要有几个子进程,即如果空闲进程大于此值,则会清理。

pm.max_requests = 500 表示一个子进程最多可以接受多少个请求,比如设置500那么一个进程受理500个请求后自动销毁。

rlimit_files = 1024 表示每个子进程打开的多少个文件句柄。

slowlog = /tmp/www_slow.log 排查网站哪里慢的原因日志

request_slowlog_timeout = 1 和上面的man日志在一起使用

php_admin_value[open_basedir]=/data/www/:/tmp/ 设置多个目录