首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决windows+nginx下 PHP-CGI 进程崩溃问题

本地开发系统使用的是windows系统下,配置的 nginx+php,在使用过程中总是出现崩溃现象,网上搜解决办法时,很多网友说是PHP-CGI 进程崩溃 造成的,当 php-cgi 处理php 达到500...解决的办法就是使用 xxfpm,管理FastCGI进程,xxfpm可以控制启动 FastCGI的进程数量。进程挂掉后会自动启动一个新的进程。...启动脚本如下,配置了多个版本的PHP,PHP 和nginx 也要进行相应的设置,其中用到了RunHiddenConsole ,需要单独进行下载:https://github.com/wenshui2008.../RunHiddenConsole,-n 3 就是启动的进程数-p 20056 是php-cgi 的端口,nginx 配置PHP时要用到 fastcgi_pass 127.0.0.1:20056;@echo...运行后会出现15个进程(3*5个PHP版本)上面说 当 php-cgi 处理 php 达到500次,就自动关闭,特意做了一下测试,前500次返回200,第501次时返回了 502。

1.4K40

事故记录:php-cgi进程过多导致系统资源耗尽

这就有点不对劲,这台服务器的内核进程也就80个左右,加上memcached, nginx, mysqld,也不会超出90个,除了这些,剩下的只有php-fpm管理的php-cgi了。...指令top还列出了占用资源最多的进程,运行时间最久(Time+)的mysqld(约2小时)占用资源并不是最多。 4--再看php-cgi,单个php-cgi占用的内存也不算多。...所以,可以大胆地猜想:服务器内存资源比较紧张,并没有被某个进程占用大量内存,有可能被某些挂起的进程占着内存没有释放。通过free进一步监控内存使用情况,验证我们的想法。...从上面报告结果中可以一眼看到php-cgi这个进程。虽然单个php-cgi占用内存并不算太大,但是503个php-cgi进程,就有点恐怖了。几乎占尽了全部内存(503*0.3%)。...php-cgi由php-fpm管理,因此可以断定,是由于php-fpm配置文件php.ini中的max_children参数配置不当,才导致打开过多的php-cgi进程

2.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

php多进程单线程之php-cgi、php-fpm

可见多个php-cgi)并等待来自Web Server的连接。...2.3 FastCGI的不足 因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。...如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。...我是这么理解的:第一:CGI解释器(php-cgi)保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等,也就是在fast-cgi层面是管理着多个CGI...但多线程和并发没有直接关系,多线程只是代码被运行时在同一时间同时执行多个线程任务,来提高服务器CPU的利用率,提高代码效率。

2K31

区分 CGI FastCGI PHP-CGI PHP-FPM

PHP-CGI 是 PHP 的 CGI 版本,它可以让 PHP 脚本在 Web 服务器上运行,但由于 CGI 的低效率,PHP-CGI 的性能也比较低。...使用 PHP-FPM 时,可以配置多个进程,通过负载均衡的方式来分担请求,从而提高稳定性。...FastCGI 的特点是会在一个进程中依次完成多个请求,以达到提高效率的目的,多数 FastCGI 实现都会维护一个进程池。 那么 FastCGI 是怎么做的呢?...这就是 FastCGI 对进程的管理。 PHP-CGI PHP-CGI 只是个 CGI 程序,他自己本身只能解析请求,返回结果,不会进程管理。...PHP-CGI 的不足:PHP-CGI 变更 php.ini 配置后需重启 PHP-CGI 才能让新的 php-ini 生效,不可以平滑重启。直接杀死 PHP-CGI 进程,PHP 就不能运行了。

19130

全面了解CGI、FastCGI、PHP-FPM

(CGI程序和FastCGI程序,可以理解成遵循CGI协议和FastCGI协议编写的程序) FastCGI的工作原理: FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程...,启动多个CGI解释器进程(可建多个php-cgi),并等待来自Web Server的连接。...(2)由于FastCGI是多进程,所以比CGI多线程消耗更多的服务器内存,php-cgi解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。 ...php-cgi只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理,所以就出现了一些能够调度php-cgi进程的程序,php-fpm就是这样的一个东西。...它克服了php-cgi变更php.ini配置后,需重启php-cgi才能让新的php-ini生效,不可以平滑重启,直接杀死php-cgi进程,php就不能运行了的问题。

82500

概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

FastCGI的工作原理 Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个...FastCGI的不足 因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。...如果服务器内存较小,完全可以只开启25 个php-cgi进程,这样php-cgi消耗的总内存数才500M。...上面的数据摘自Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版) PHP-CGI PHP-CGI是PHP自带的FastCGI管理器。...PHP-CGI的不足: php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启。 直接杀死php-cgi进程,php就不能运行了。

2.1K80

全面了解CGI、FastCGI、PHP-FPM

(CGI程序和FastCGI程序,可以理解成遵循CGI协议和FastCGI协议编写的程序) FastCGI的工作原理: FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程...(1)Web Server启动时载入FastCGI进程管理器(Apache Module或IIS ISAPI等) (2)FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可建多个php-cgi...(2)由于FastCGI是多进程,所以比CGI多线程消耗更多的服务器内存,php-cgi解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。...php-cgi只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理,所以就出现了一些能够调度php-cgi进程的程序,php-fpm就是这样的一个东西。...它克服了php-cgi变更php.ini配置后,需重启php-cgi才能让新的php-ini生效,不可以平滑重启,直接杀死php-cgi进程,php就不能运行了的问题。

2.7K12

CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI 的区别

FastCGI的工作原理 Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个...当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。...FastCGI的不足 因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。...什么是PHP-CGI PHP-CGI是PHP自带的FastCGI管理器 PHP-CGI的不足 php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启 直接杀死...php-cgi进程,php就不能运行了。

1.1K10

PHP强化之22 - CGI、FastCGI与PHP-FPM

PHP-CGI的不足: 1)php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启。 2)直接杀死php-cgi进程,php就不能运行了。...FastCGI的工作原理: FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。...文字解说: 1)Web Server启动时载入FastCGI进程管理器(Apache Module或IIS ISAPI等) 2)FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可建多个...2)由于FastCGI是多进程,所以比CGI多线程消耗更多的服务器内存,php-cgi解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。...因为PHP-CGI只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理。所以就出现了一些能够调度 php-cgi 进程的程序,比如说由lighthttpd分离出来的spawn-fcgi。

69710

nginx服务器究竟是怎么执行php项目

FastCGI的工作原理 Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个...FastCGI的不足 因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。...Nginx 0.8.46+PHP 5.2.14(FastCGI)服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M...如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。...PHP-CGI的不足: php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启。 直接杀死php-cgi进程,php就不能运行了。

1.3K10

PHP-FPM 的管理和配置详解

FastCGI不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变; 缺点: 因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7...如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。...Web服务器启动时,载入FastCGI进程管理器; 2. FastCGI进程管理器初始化,启动多个CGI解释器进程(PHP-CGI)并等待来自Web服务器的连接; 3....当客户端请求到达Web服务器时,FastCGI进程管理器选择并连接到一个CGI解释器,Web服务器将CGI环境变量和标准输入发送到FastCGI子进程PHP-CGI。 4....FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web服务器中)的下一个连接。而在CGI模式中,PHP-CGI在此便退出了。

83710

linux 批量杀死多个进程 kill

下面说说用管道符联接起来的 几个命令: “ ps - ef”是Red Hat 里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep LOCAL=NO”的输入。...“grep LOCAL=NO”的输出结果是,所有含有关键字“LOCAL=NO”的进程,这是Oracle数据库中远程连接进程的共同特点。...“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。 “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。...“kill -9”会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改“grep LOCAL=NO”中的关键字部分就可以了。...killall 进程名 如杀死java相关进程:killall java

5.8K20

PHP-FPM发展史

CGI的工作原理 Web服务器一般只用来处理静态文件请求,当碰到动态脚本请求时,Web服务器进程就会创建一个新的进程来启动CGI程序,也就是将动态脚本交给CGI程序来处理。...PHP-CGI PHP-CGI就是CGI协议的php版本实现。...除了协议本身的问题还有一些其他问题 比如 PHP-CGI变成php.ini配置后,需要重启php-cgi才能让新的配置生效,不可以平滑重启。 直接杀死PHP-CGI进程,php就不能运行了。...FastCGI进程管理器自身初始化,并启动多个CGI解释器进程并等待Web服务器的连接。...PHP-FPM的工作原理 当前PHP-FPm启动时,首先会创建一个master进程,负责请求的分发,初始化环境,加载配置文件等一些初始化操作,然后根据配置的设定启动多个woker进程 当请求过来时,master

70120
领券