如何在Windows Server 2012上使用.env文件运行长时间运行的Nodejs进程

如何在Windows Server 2012上使用.env文件运行长时间运行的Nodejs进程,windows,node.js,environment-variables,Windows,Node.js,Environment Variables,我有一个应用程序(github的Hubot),它是为在Heroku上运行而构建的,但出于某些原因,我想在我们的内部Windows 2012服务器上运行它 解决方案的一个要求是,在流程开始之前,我需要能够读入一个填充了env变量的.env文件。通过foreman start,它可以正常运行,但最好将其作为一个服务运行,在崩溃时重新启动 目前我正在运行它,但这并没有达到预期的效果,因为如果失败,它不会重新启动实际的进程。这可能是由于我的配置(如下所列),但似乎没有其他方法来运行它 因为这只是一个开发

我有一个应用程序(github的Hubot),它是为在Heroku上运行而构建的,但出于某些原因,我想在我们的内部Windows 2012服务器上运行它

解决方案的一个要求是,在流程开始之前,我需要能够读入一个填充了env变量的
.env
文件。通过
foreman start
,它可以正常运行,但最好将其作为一个服务运行,在崩溃时重新启动

目前我正在运行它,但这并没有达到预期的效果,因为如果失败,它不会重新启动实际的进程。这可能是由于我的配置(如下所列),但似乎没有其他方法来运行它

因为这只是一个开发服务器,所以我不太关心最佳实践——我只是不想每次bot宕机时都登录到这个框中

我是要自己写服务,还是有更简单的方法?另一个提到了使用
env
nodemon
,但这是以*nix为中心的。 Windows是否有类似的读取环境变量的方法

<service>
  <name>hubot</name>
  <executable>C:\Ruby200-x64\bin\foreman</executable>
  <parameters>start -d C:\node\hubot</parameters>
</service>

胡伯特
C:\Ruby200-x64\bin\foreman
开始-d C:\node\hubot

任何服务都可以配置为在出现故障时重新启动,处理此问题的是服务配置管理器的工作,而不是服务本身。因此,RunaService服务应该像任何其他服务一样重新启动。使用:

请注意,您也可以使用相同的
sc.exe
,远程启动和停止bot,无需登录:

c:\>sc <hostname> start hubot
c:\>sc启动hubot
P>但是,告诉你一个事实,写一个服务是相当微不足道的,有向导让模板在C或C++中从VisualStudio中走出来。然后你将成为庄园的主人,你自己领域的主人等等

c:\>sc <hostname> start hubot