NODE forever的使用

383 阅读2分钟

解决问题:webrtc后台程序发生未知错误,导致崩溃,不会自动重启

 

参考文献:blog.csdn.net/wwj256/arti…

github.com/foreversd/f…

 

全局在线安装forever:npm install forever -g

如果安装完成后,启动服务报错:“forever : 无法加载文件 C:\Users\XXX\AppData\Roaming\npm\forever,因为在此系统上禁止运行脚本”

请参考blog.csdn.net/yyp0304Devi…

 

离线安装forever:在已经安装好forever的计算机上,找到C:\Users\10202\AppData\Roaming该目录下的npm文件夹,拷贝到离线服务器对应目录下C:\Users\Administrator\AppData\Roaming

 

用forever命令启动后台程序,两种方式(推荐第二种):

1、 cmd进入到程序目录下,如:cd C:/wamp/www/bin

启动并输出日志,如:

forever start -l forever.log -o out.log -e error.log -w -a t.js

 

2、 在程序目录下,新建一个txt文本文档,内容:

{



    "uid": "mediasoup",

    "append": true,

    "watch": true,

    "script": "t.js",

    "sourceDir": "C:/wamp/www/bin",

    "logFile": "C:/wamp/www/bin/foreverLogs/forever.log",

    "outFile": "C:/wamp/www/bin/foreverLogs/out.log",

    "errFile": "C:/wamp/www/bin/foreverLogs/error.log"

}

保存,并把文件名改为forever.json,记得新建一个文件夹为foreverLogs存放日志信息

在桌面新建一个txt文本文档,用来启动forever.json,输入:

@echo off

call forever start C:/wamp/www/bin/forever.json

pause

保存为bat文件,然后双击运行

 

查看是否运行成功,命令forever list

image.png

 

常用命令:

forever start app.js 启动进程

forever stop app.js停止进程

forever stopall 停止所有forever进程

forever list 显示所有运行的服务

遇到的问题:

Forever启动进程后,每隔60s会自动重启进程

导致问题的原因:

后台程序中存在每隔60s发送hello包的机制,程序每发一次hello包,foreverlog就会发生变化,又因为foreverlog存放在程序根目录下,程序会认为foreverlog是它的一部分,所以每当foreverlog发生变化时,进程就会重启

解决办法:

修改foreverLogs的存放路径