Tag: upstart

如何使用通用规范或元configuration生成新创和监控configuration文件?

我正在部署一个节点Web应用程序作为使用grunt的暴发户服务,并使用monit监视它。 然而: 我的新贵和monitconfiguration相互复制一点点 Upstart不会在env节中进行可变扩展 我无法finddynamicconfiguration.override的方法(ala upstart .override文件) 我的问题 这意味着我正在寻找一个可以用来生成uptstart .conf和monit conf.d /文件的grunt插件或其他工具。 你能帮我find一个(或build议一个更好的方式来健壮地运行我的节点的Web应用程序)? 一个相当简单的解决 说实话,一个暴发户和monit文件的下划线模板可能就足够了,这就是如果没有现成的解决scheme,我会包装成一个咕噜的插件,但这是一个问题,其他人必须也遇到了,所以我想有一个解决scheme,我只是找不到它。 详情 更详细地说明这三个问题。 我的新贵conf文件看起来像这样: setuid node setgid node # … script mkdir -p /home/node/.my-app echo $$ > /home/node/.my-app/upstart.pid /usr/local/bin/node /var/node/my-app/server.js >> /var/node/my-app/logs/console.log 2>&1 end script # … 而我的monitconfiguration如下所示: check process node with pidfile /home/node/.my-app/upstart.pid start program = "/sbin/start my-app" with timeout […]

如何正确启动节点服务器,以便apn将工作

当我通过node server.js从命令行运行我的服务器时,它的运行方式不同(特别是推送通知的工作方式),而不是当我用一个暴发户脚本启动它时。 我应该如何修改我的新贵脚本来解决这个问题? 下面是一个示例服务器,其中,在命令行中,新手和新手都失败了 var apn = require('apn'); var options = { passphrase:'certpassphrase' }; var err = null; var apnConnection = new apn.Connection(options); apnConnection.on('error', function(error){ console.log("apscallback", 1, error); }); apnConnection.on('transmitted', function(notification){ console.log("apscallback", 2); console.log(notification); }); apnConnection.on('timeout', function(){ console.log("apscallback", 3); }); apnConnection.on('connected', function(){ console.log("apscallback", 4); }); apnConnection.on('disconnected', function(){ console.log("apscallback", 5); }); apnConnection.on('socketError', function(error){ console.log("apscallback", 6, error); […]

与statsd新贵工作问题

我在/ etc / init目录(和sudo start statsd)中使用以下statsd.conf文件来启动statsd。 当我运行sudo start statsd时,我收到了在conf文件下面发布的错误。 任何想法如何排除故障/解决这将不胜感激。 /etc/init/statsd.conf #!upstart description "Statsd node.js server" start on startup stop on shutdown script export HOME="/root" echo $$ > /var/run/statsd.pid exec sudo -u www-data node /home/username/anotherDir/statsd/stats.js /home/userName/anotherDir/statsd/localConfig.js >> /var/log/statsd.log 2> /var/log/statsd.error.log end script pre-start script # Date format same as (new Date()).toISOString() for consistency echo "[`date […]

使用NVM在Upstart作业中启动节点

我试图启动我的节点服务器在一个Ubuntu的新贵进程。 我真的想要使用我的NVM环境。 但我似乎无法完成。 有没有人有一个暴发作业的代码片段,在节点虚拟环境中启动他们的节点应用程序。

节点js Upstart脚本文件读取

我正在研究EC2实例,并将我的节点应用程序项目放在/ var / www /中。 我正在使用upstart脚本启动节点应用程序。 upstart脚本放在/ etc / init /中。 在应用程序中,我正在parsing一个文件,如下所示,以访问configurationvariables: var _conf = JSON.parse(fs.readFileSync('./config/config.json')); 当我用命令节点app.js在前台运行应用程序时,它工作正常。 它能够将文件parsing为JSON。 但是当我运行新贵的脚本时会抛出下面的错误。 fs.js:549 return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode); ^ Error: ENOENT: no such file or directory, open './config/config.json' at Error (native) at Object.fs.openSync (fs.js:549:18) at Object.fs.readFileSync (fs.js:397:15) at Object.<anonymous> (/var/www/machaao-api/node_modules/machaao-kafka/index.js:3:27) at Module._compile (module.js:435:26) at Object.Module._extensions..js (module.js:442:10) at Module.load (module.js:356:32) […]

服务器重新启动时无法让我的Upstart脚本运行Node.js和Forever

最近我一直在设置我的服务器,今天我不得不重新启动它…然后我意识到我运行的所有Node应用程序都没有运行了。 我正在使用Node Forever模块来保持应用程序运行,但是后来我意识到,当我的服务器重新启动或closures并重新启动时,我仍然需要启动它们。 我一直在研究最好的方法来做到这一点,但我只是没有工作。 我在我的Ubuntu服务器10.04LTS远程服务器的/etc/init/文件夹中创build了一个Upstart脚本,并尝试重新启动,它似乎没有做任何事情。 当我forever list运行forever list没有什么是列出的。 这是我今天试用的Upstart脚本: #/etc/init/myapp.conf start on (local-filesystems and net-device-up IFACE=eth0) stop on shutdown script exec sudo /usr/local/bin/node /var/www/myapp/myapp.forever.js end script 我在节点脚本中使用Forever,因为我发现它更容易configuration它,我想要的。 如果我在脚本之外执行,确认脚本运行的很好,但是Upstart脚本本身有问题。 它似乎与/etc/init/文件夹中的所有其他Upstart脚本具有相同的权限。 另外需要注意的是,我已经在StackOverflow中find了几乎所有我能find的答案,而且现在我已经把脚本放在一起了。 更新: 用汤姆的回答,我现在已经试过了: #/etc/init/myapp.conf start on (local-filesystems and net-device-up IFACE=eth0) stop on shutdown exec sudo /usr/local/bin/node /var/www/myapp/myapp.forever.js 但它仍然无法正常工作。 所以我不知道为什么当我重新启动我的服务器时没有运行。 请帮忙!

upstart node.js工作目录

使用Upstart启动Node.js,当尝试访问Node.js中的文件时,如果不使用完整path,则无法访问它们。 我需要它来使用工作目录。 start on startup stop on shutdown script echo $$ > /var/run/mynodeapp.pid exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1 end script pre-start script echo "Starting" >> /var/log/mynodeapp.sys.log end script pre-stop script rm /var/run/mynodeapp.pid echo "Stopping" >> /var/log/mynodeapp.sys.log end script