如何以编程方式运行node . js应用程序
How to run node js application programmatically using forever
我需要运行一组节点js文件,其中包含配置信息,它必须运行通常的端口号和IP地址,然后使用node.js中的forever,我需要在终端中运行脚本配置,而无需任何手动输入。
对于程序化方法,您可以使用forever - monitor
var forever = require('forever-monitor');var child = new (forever.Monitor)('your-filename.js', {马克斯:3,沉默:没错,选择:[]});的孩子。On ('exit', function () {Console.log ('your-filename.js重启3次后退出');});child.start ();
您可以使用child_process模块。查看文档,那里有一些有用的信息:http://nodejs.org/api/child_process.html
举一个简单的例子
var exec = require('child_process').exec;
exec('forever', function callback(error, stdout, stderr){
// cb
});
如果你不需要回调/不想等待执行:
var exec = require('child_process').exec('forever').unref();
有帮助吗?
最好Marc
编辑:好吧,我不确定我是否真的明白你的问题,但我的答案结合https://stackoverflow.com/a/23871739/823851可能会提供一个很好的解决方案。用法:
- 永远启动hello.js启动一个进程。查看由forever 启动的所有进程列表
- 永远停止hello.js来停止进程,或者永远停止0来停止索引为0的进程(如永远列表所示)。
node-config是一个很好的模块,用于管理Node.js应用的不同配置。
例如,要创建一个"生产"配置,/config/production.json
将包含:
{
"port" : "3000",
"ip" : "192.168.1.1"
}
在你的一个节点应用程序JS文件中:
config = require('config')
....
var port = config.port;
var ip = config.ip;
要在这种配置下启动应用程序,只需在运行应用程序之前先从shell将NODE_ENV设置为production。
export NODE_ENV=production
forever start app.js
根据需要为每个环境创建额外的配置JSON文件。
default.json
。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值