首页 » 后端 » Nginx » 正文

控制 php-fpm 的进程数量

发布者:站点默认
2015/05/27 浏览数(1,940) 分类:Nginx, PHP 控制 php-fpm 的进程数量已关闭评论

PHP-FPM 是 PHP 的 FastCGI 进程管理器,在5.3.3之前的版本是个补丁包需要单独安装,5.3.3起已集成到PHP中。

相对 Spawn-FCGI 来说,PHP-FPM 在 CPU 和内存方面的控制会好一些,也不容易崩溃,也不需要用crontab进行监控。

配置文件:/etc/php-fpm.d/www.conf,每个 php-fpm 进程大约需要 40M 内存。

pm:process manager

static – 子进程的数量是固定的(pm.max_children)。

ondemand – 进程在有需求时才产生(当请求时,与 dynamic 相反,pm.start_servers 在服务启动时即启动。

dynamic – 子进程的数量在这些配置的基础上动态设置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers。

动态进程数量:

pm = dynamic              ;管理进程的方式为动态
pm.max_children = 50      ;最大进程数
pm.start_servers = 5      ;启动时的进程数
pm.min_spare_servers = 5  ;最小空闲进程数
pm.max_spare_servers = 32 ;最大空闲进程数

静态进程数量:

pm = static               ;管理进程的方式为静态
pm.max_children = 50      ;进程总数

测试配置文件:

php-fpm -t

查看 php-fpm 进程数量:

ps -e | grep php-fpm | wc -l

查看系统内存使用情况:

free -m

一个 nginx 下 php-fpm 的配置示例:

server {
    listen       80;
    server_name  upall.cn;
    location / {
        root   /data/www/upall.cn;
        index  index.html index.htm index.php;
        if (!-e $request_filename){
            rewrite (.*) /index.php;
        }
    }
    location ~ \.php$ {
        root           /data/www/upall.cn;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
        client_max_body_size 64m;
    }
    location ~ /\.ht {
        deny  all;
    }
}

– 完 –

点击返回顶部
  1. 留言
  2. 联系方式