启动时自动启动node.js服务器

任何node.js专家都可以告诉我如何在我的机器启动时configuration节点JS来自动启动服务器? 我在Windows上

这完全不是在node.js中configuration的东西,这纯粹是操作系统的责任(Windows是你的情况)。 最可靠的方法是通过Windows服务。

有这个超级简单的模块,将节点脚本安装为一个Windows服务,它被称为node-windows ( npm , github , documentation )。 我以前用过,像魅力一样工作。

var Service = require('node-windows').Service; // Create a new service object var svc = new Service({ name:'Hello World', description: 'The nodejs.org example web server.', script: 'C:\\path\\to\\helloworld.js' }); // Listen for the "install" event, which indicates the // process is available as a service. svc.on('install',function(){ svc.start(); }); svc.install(); 

PS

我发现这个东西非常有用,所以我创build了一个更易于使用的包装( npm , github )。

安装它:

 npm install -g qckwinsvc 

安装您的服务:

 > qckwinsvc prompt: Service name: [name for your service] prompt: Service description: [description for it] prompt: Node script path: [path of your node script] Service installed 

卸载您的服务:

 > qckwinsvc --uninstall prompt: Service name: [name of your service] prompt: Node script path: [path of your node script] Service stopped Service uninstalled 

如果你在Linux * pm2是你的朋友。 这是一个处理群集的stream程pipe理器。

你安装它:

 npm install -g pm2 

启动一个例如3个进程的集群:

  pm2 start app.js -i 3 

并让pm2在启动时启动它们:

  pm2 startup 

它有一个API,甚至一个http界面 :

真棒

去github并阅读说明 。 它很容易使用,非常方便。 永远最好的事情。

*开发人员在Ubunto和CentOs上尝试过,但是我已经在Debian中使用了,没有任何问题。 你可以用这个来检查它是否对你有效:

 git clone https://github.com/Unitech/pm2.git cd pm2 npm install # Or do NODE_ENV=development npm install if some packages are missing npm test 

如果我没有错,可以使用命令行来启动应用程序,也可以使用batch file。 在这种情况下,用Windowslogin启动它并不是一件非常困难的事情。

您只需创build一个包含以下内容的batch file:

 node C:\myapp.js 

并保存.bat扩展。 这里myapp.js是你的应用程序,在这个例子中,它位于C:驱动器(spcify的path)。

现在,您可以将该batch file放在位于C:\ Users \%username%\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup的启动文件夹中

只需在运行dailog框中使用%appdata%打开它并find> Roaming> Microsoft> Windows>开始菜单>程序>启动

该batch file将在login时执行,并从cmd启动您的节点应用程序。

我build议安装node.js应用程序作为Windows服务,然后将服务设置为在启动时运行。 这应该使通过使用Windows服务pipe理单元来控制启动操作变得容易一些,而不必在“启动”文件夹中添加或删除batch file。

Stackoverflow中的另一个与服务相关的问题提供了一些(当然)非常好的选项。 检出如何将node.js安装为Windows服务 。 节点窗口看起来很有希望给我。 另外,我使用类似的工具来运行需要作为服务运行的Java应用程序。 这使我的生活变得更加简单。 希望这可以帮助。

你应该试试这个

npm永远

https://www.npmjs.com/package/forever

除了Windows任务计划程序,您不需要任何其他的东西。 只需在启动时创build一个计划任务,并运行它,无论指定的用户是否login。 这个任务应该调用一个batch file,它包含:

 cd C:\project\root call C:\Users\[COMPUTER_NAME]\AppData\Roaming\npm\forever.cmd start server.js exit 0 

这是我在C#中编写的另一个解决scheme ,用于在Windows上自动启动本地节点服务器或pm2服务器。

使用pm2在Windows上启动并运行你的nodejs进程。

请务必阅读本github讨论如何设置任务计划程序启动pm2: https : //github.com/Unitech/pm2/issues/1079

直接从这个答案复制:

你可以使用任何你想自动化的语言编写一个脚本(甚至使用nodejs),然后在用户的%appdata%\ Microsoft \ Windows \ Start Menu \ Programs \ Startup文件夹中安装该脚本的快捷方式