我设置了一个crontab,它将每分钟运行一个PHP脚本来检查我的Steam机器人是否在游戏中,如果不是,请运行一个节点js脚本。
这是我的crontab:
* * * * * /usr/bin/php /home/cron/checkStatus.php >/dev/null 2>&1
这是我的PHP脚本:
shell_exec("screen -AdmS bot /usr/local/bin/node /home/node_modules/mine/script.js");
当我自己运行命令时,节点js脚本启动,但是,当crontab尝试启动节点js脚本时,什么也没有发生。想法?
答案 0 :(得分:0)
Node.js具有一个称为HTTP的内置模块,该模块允许Node.js通过超文本传输协议(HTTP)传输数据。
要包括HTTP模块,请使用require()方法:
var http = require('http');
HTTP模块可以创建一个HTTP服务器,该服务器侦听服务器端口并将响应返回给客户端。
使用createServer()方法创建HTTP服务器:
var http = require('http');
//create a server object:
http.createServer(function (req, res) {
res.write('Hello World!'); //write a response to the client
res.end(); //end the response
}).listen(8080); //the server object listens on port 8080
之后,使用NPM安装名为PM2的软件包。
NPM是一个软件包管理器,您将使用该软件包管理器来安装框架和库以与Node.js应用程序一起使用。 NPM与Node.js一起安装。 PM2是一个可爱的小工具,它将为您解决两个问题:
如果崩溃,它将通过重新启动应用程序来保持站点正常运行。这些崩溃不应该发生,但是很高兴知道PM2可以帮助您。 (有些人可能知道Forever.js,这是用于使基于节点的站点保持运行的另一种工具-我认为您会发现PM2提供了很多功能。)
通过在命令行中键入thr来安装PM2:
sudo npm install pm2 -g