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

本地开发系统使用的是windows系统下,配置的 nginx+php,在使用过程中总是出现崩溃现象,网上搜解决办法时,很多网友说是PHP-CGI 进程崩溃 造成的,当 php-cgi 处理php 达到500次,就自动关闭。也给出了解决办法。

解决的办法就是使用 xxfpm,管理FastCGI进程,xxfpm可以控制启动 FastCGI的进程数量。进程挂掉后会自动启动一个新的进程。git地址:https://github.com/78/xxfpm

启动脚本如下,配置了多个版本的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 off

echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
taskkill /F /IM xxfpm.exe > nul

set PHP_FCGI_MAX_REQUESTS = 1000

echo Starting PHP FastCGI...
RunHiddenConsole xxfpm.exe "D:/NMP/php5.6/php-cgi.exe -c D:/NMP/php5.6/php.ini" -n 3 -i 127.0.0.1 -p 20056
RunHiddenConsole xxfpm.exe "D:/NMP/php7.2/php-cgi.exe -c D:/NMP/php7.2/php.ini" -n 3 -i 127.0.0.1 -p 20072
RunHiddenConsole xxfpm.exe "D:/NMP/php7.4/php-cgi.exe -c D:/NMP/php7.4/php.ini" -n 3 -i 127.0.0.1 -p 20074
RunHiddenConsole xxfpm.exe "D:/NMP/php8.0/php-cgi.exe -c D:/NMP/php8.0/php.ini" -n 3 -i 127.0.0.1 -p 20080
RunHiddenConsole xxfpm.exe "D:/NMP/php8.1/php-cgi.exe -c D:/NMP/php8.1/php.ini" -n 3 -i 127.0.0.1 -p 20081

echo Starting nginx...
RunHiddenConsole D:/NMP/nginx-1.20.2/nginx.exe -p D:/NMP/nginx-1.20.2/

exit

注意:RunHiddenConsole 和 xxfpm.exe 的目录设置,如果 xxfpm启动出现错误,需要将下载 xxfpm的压缩包内 pthreadgc2.dll 复制到 C:/Windows/SysWOW64 目录(如果系统是32位的,将dll文件复制到C:WindowsSystem32下)。

运行后会出现15个进程(3*5个PHP版本)

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

上面说 当 php-cgi 处理 php 达到500次,就自动关闭,特意做了一下测试,前500次返回200,第501次时返回了 502。使用 xxfpm方式启动后就不会出现 502 的情况了

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

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/183.html

(0)
adminadmin
上一篇 2023年11月18日 下午10:54
下一篇 2023年11月18日 下午10:56

相关推荐

  • 让你的FastAdmin在PHP8下运行

    公司网站搭建设计PHP8发布很长时间了,但FastAdmin还不能在PHP8下运行,官方文档环境要求 PHP >= 7.2 且 <= 7.4 (推荐PHP7.4版本),因为一些开源扩展…

    2023年11月18日
  • wordpress 绑定多个域名方法

    公司网站搭建设计WordPress在安装的时候会默认绑定当前的域名,如安装时域名为 a.com,在访问www.a.com时,会自动跳到a.com,绑定其它域名时也会跳转,给大家分享一下WordPr…

    记事本 2023年11月18日
  • PHP版本VC6与VC9/VC11/VC14、Thread Safe与None-Thread Safe等的区别

    公司网站搭建设计在安装 PHP 时,下载时有各种选项,VC9,VC11,VC14 的,那这些都是什么呢 包名里的VC6、VC9、VC11、VC14、VC15,代表的是编写时使用的编译器。 你需要在…

    记事本 2018年11月18日
  • 城市分站站群-轻松让你收录破百万

    公司网站搭建设计你是否还为你的网站没有收录而烦恼?不要慌,多城市分站站群,可以轻松让你的网站收录突破百万。多城市分站就是能够让你的网站自动生成全国3000多个县级及以上城市的分站系统,并且能够在你…

    2022年11月18日
  • CentOS7 安装 FreeSWITCH 配置呼叫中心

    公司网站搭建设计公司前段时间需要开发呼叫系统与内部客户管理系统进行对接,在客户管理系统中直接拨号进行打电话,同时还需要对每通电话进行录音,统计每个员工的通话时长等。在网上查资料最终选择开源系统Fr…

    2018年11月18日
  • 宝塔面板安装nginx/php/mysql

    公司网站搭建设计安装完宝塔面板后,使用生成的用户名密码登录到服务器,首次登录时会出现用户协议,滑到最底下后点击 我已阅读并同意 进入面板 输入宝塔的账号密码进行绑定,如果没有账号点击未有账号,免费…

    2023年11月18日
  • centos7调整根目录挂载分区容量大小

    公司网站搭建设计由于系统初始时根目录一般空间为50左右 有时会被占满,而/home目录却有大量空间 这里需要调整: 1.终止占用 /home 进程 fuser -m -v -i -k /home​…

    记事本 2018年11月18日
  • 网站权重是什么?这个权重有什么用?

    公司网站搭建设计百度权重是爱站、站长工具等网站推出的针对网站关键词排名预计给网站带来流量,划分等级0-9的第三方网站欢迎度评估数据。百度官方明确表示不承认百度权重。 很多人喜欢把网站权重和收录速度…

    2023年11月18日
  • FreeSWITCH 完美对接河北移动 IMS , 可正常通话

    公司网站搭建设计FreeSWITCH 对接移动 IMS ,实现 IMS 落地。FreeSWITCH 与移动 IMS 核心网对接,可实现自己的个性需求,如外呼,彩铃,IVR,话务量批发等。 公司联网…

    2018年11月18日
  • CentOS 自动设置指定时间内生成文件的权限

    公司网站搭建设计在使用 FreeSWITCH 生成录音文件时,网站访问录音文件时会出现403错误,是因为生成的文件没有权限,可以设置定时任务设置文件的权限,比如,我们自动设置5分钟内的文件或文件夹…

    记事本 2024年2月21日

发表回复

登录后才能评论
WeChat