php-fpm

php-fpm开启多个主进程实例解决高并发下nginx出现502 的问题

我们经常在LNMP环境中遇到高并发下nginx出现502 的问题。

一般情况下,服务器在遇到高并发时nginx发起的连接数,远远超过了php-fpm所能处理的数目,导致端口(或socket)频繁被锁,造成堵塞,所以容易出现502错误。

那么我们可以给php-fpm开启多个实例解决高并发下nginx出现502 的问题

===============================================

譬如我想开400个php-fpm进程,注意大家要根据实际情况来调整。



我 这里作为演示,只启用两个php-fpm实例,把php-fpm分为两部分,每部分各听一个端口或socket,这样就减少了lock,依然保持400个 php-fpm进程,当然还有2个主进程,每个实例启用200个,采用nginx的upstream负载均衡,轮询每个socket来处理请求。


» 阅读全文

关键词: nginx出现502 , php-fpm

LNMP环境中开启php-fpm的status状态页

开启php-fpm状态页有助于我们分析当前php请求的情况,来决定php-fpm参数是否设置合理。
nginx配置:

    location /status {
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          include        fastcgi_params;
          fastcgi_pass unix:/dev/shm/php-cgi.sock; //sock 要根据自己的实际进行配置。
    }

php-fpm配置:

» 阅读全文

关键词: status状态页 , php-fpm

php-fpm 启动参数及php-fpm.conf重要参数详解

php-fpm 启动参数基本关联相关文件的位置,假设文件位置位于如下:
  • /usr/local/php/sbin/php-fpm
  • /usr/local/php/etc/php-fpm.conf
  • /usr/local/php/etc/php.ini

一,php-fpm的启动参数

#测试php-fpm配置
/usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t
 

» 阅读全文

关键词: php-fpm优化 , php-fpm