Windows上使用nssm生成网站服务,开机自启,崩溃自启。

ichynul

最近做的一个项目,系统是windows的,因为要在后台做一些数据分析,所以使用webman,以便使用自定义进程处理数据。
开始的思路是使用bat批处理弄了个开机自启,但运行了一段时间后,命令行直接挂了[php.exe已停止工作]。不知道什么原因,应该不是业务代码的问题,估计是内存泄露或者某个php扩展引起的。
处理方法就是关了命令行重新打开,但问题没有根本解决,说不定哪天又挂了。

所以,从网上找了个nssm的软件,可以生弄成一个服务,可以开机自启,没有黑乎乎的命令行命,挂了也自动重启。

下载地址:http://www.nssm.cc/download
参考资料:https://www.jianshu.com/p/35487bc68ab1

我的系统环境:
php目录:D:\UPUPW_ANK_W64\Modules\PHPX\PHP74
网站目录:D:\doc\php\site1

下载以后,根据你的系统版本,打开命令行,cd进入[win64]或[win32]。(或者把nssm.exe复制到网站根目录也行)。
1、执行命令:.\nssm install,会打开一个图形化界面:

  • Application Path:(程序路径)
    D:\UPUPW_ANK_W64\Modules\PHPX\PHP74\php.exe
  • Sartup directory:(执行目录)
    D:\doc\php\site1\public\
  • Aguments:(命令参数)
    ..\windows.php
  • Service name:(服务名称)
    webman8787

2、点击◀▶切换到选项卡到[I/O]配置日志文件:

  • output:(输出信息)
    D:\doc\php\site1\runtime\logs\stdout.log
  • Error:(错误信息)
    D:\doc\php\site1\runtime\logs\stderr.log

3、点击◀▶切换到选项卡到[Environment]配置环境变量:

输入:path=D:\UPUPW_ANK_W64\Modules\PHPX\PHP74\;C:\Windows\SysWOW64\;
这步很重要,即使你已在系统的环境变量中把php执行路径加入path里面,这里仍然需要配置,不然启动子进程的时候会报[php命令找不到]的错误。另外文件修改监控热重载使用了taskkill系统命令,要找到这个命令[taskkill.exe]在系统中的位置,64位系统是在[C:\Windows\SysWOW64]这个目录里面,也加到path里面,多个路径使用;分割。

4、点击底部[install service]完成安装。

5、可以在任务管理器-服务中找到webman8787的服务。

6、如果想修改配置,执行命令:.\nssm edit webman8787,会重新打开配置界面。

7、出错可以查看一下日志stdout.log
就跟在命令行界面看到的差不多:

2067 1 6
1个评论

静默

666

  • 暂无评论

ichynul

1820
积分
0
获赞数
0
粉丝数
2022-03-04 加入
🔝