资讯动态

与时俱进,精研业务

windows+Nginx环境下,php-cgi.exe自动关闭退出和随系统自动启动问题如何解决?

点击复制标题网址

——温馨提示——

已复制到剪贴板,可粘贴到下一处。


时间:2022-09-01   查看:1466

编者按:

打开网址https://github.com/78/xxfpm,选择下载https://github.com/78/xxfpm/archive/refs/heads/master.zip,用来开启 PHP-CGI 多进程。xxfpm压缩包解压后找到bin文件夹,将xxfpm.exe和pthreadGC2.dll复制到你在php安装根目录下新建的xxfpm文件夹中。下载一个后缀

       一、问题提出:windows+Nginx环境下,php-cgi.exe运行一段时间就可能会遭遇不明原因自动关闭退出,此时访问网站页面Nginx会提示502 Bad Gateway错误,面临此等不断发生的间歇性问题,那又该如何合理解决它呢?

       二、解决路径:思路就是可以将php-cgi.exe安装为windows系统自动启动服务并进行实时监控,一旦php-cgi.exe进程因不明原因遭遇非正常关闭退出,系统即时发现后可对其马上重启以不间断为网民提供访问服务。

       1.打开网址https://github.com/78/xxfpm,选择下载https://github.com/78/xxfpm/archive/refs/heads/master.zip文件。

       2.master.zip文件压缩包解压后找到 bin 目录,将其下面的xxfpm.exe 和 pthreadGC2.dll两个文件复制到你windows服务器上的php安装根目录下新建的 xxfpm 文件夹中。

       3.访问以下网址并选择下载一个后缀为.NET4.exe的文件,具体如下:

https://github.com/winsw/winsw/releases

https://github.com/winsw/winsw/releases/download/v2.11.0/WinSW.NET4.exe

未命名-10.jpg

       4. 将下载下来的WinSW.NET4.exe文件更名为php-service.exe,然后把它复制到你php安装根目录下新建的 xxfpm 文件夹中。

       5.在 xxfpm 文件夹中新建php-service.xml文件,在其中输入以下示范代码,可根据你的实际情况加以调整:

<service>

    <id>PHP-CGI</id>

    <name>PHP-CGI</name>

    <description>PHP-CGI</description>

    <executable>xxfpm.exe</executable>

    <!-- 启动参数 -->

    <startargument>"D:/php/php-cgi.exe -c D:/php/php.ini"</startargument>

    <startargument>-n</startargument>

    <!-- 启动进程数量,可修改,建议大于 1 -->

    <startargument>2</startargument>

    <startargument>-i</startargument>

    <!-- 监听IP,默认一般都用 127.0.0.1 -->

    <startargument>127.0.0.1</startargument>

    <startargument>-p</startargument>

    <!-- 监听端口,默认一般都用 9000 -->

    <startargument>9000</startargument>

    <!-- 停止参数 -->

    <stopexecutable>taskkill</stopexecutable>

    <stopargument>/F</stopargument>

    <stopargument>/IM</stopargument>

    <stopargument>xxfpm.exe</stopargument>

    <logpath>logs</logpath>

</service>

(如果你服务器安装了多个php版本,可举一反三安装多个php系统服务,但要注意监听端口9000要做调整,比如端口相应调整为9001)

       6.在运行输入框中输入cmd进入dos命令行界面并切换到xxfpm目录下,运行php-service.exe install命令行并执行。安装windows系统服务成功。

未命名-1.jpg

(如果您的php-cgi在适用上述措施后,还会遭遇不明故障,可以调整一下设置。)

未命名-1.jpg

未命名-2.jpg

            (以上均为维护服务器过程中的实操分享,如您有疑问可以添加邓杰律师微信交流)

本文标签

发表评论:

评论记录:

未查询到任何数据!