tal*_*les 150
这根本不是在node.js中配置的,这完全是OS职责(在你的情况下是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();
Run Code Online (Sandbox Code Playgroud)
PS
我发现这个东西非常有用,我在它周围构建了一个更容易使用的包装器(npm,github).
安装它:
npm install -g qckwinsvc
Run Code Online (Sandbox Code Playgroud)
安装您的服务:
> 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
Run Code Online (Sandbox Code Playgroud)
卸载您的服务:
> qckwinsvc --uninstall
prompt: Service name: [name of your service]
prompt: Node script path: [path of your node script]
Service stopped
Service uninstalled
Run Code Online (Sandbox Code Playgroud)
dur*_*rum 71
如果您使用Linux*pm2是您的朋友.它是一个处理集群的流程管理器.
你安装它:
npm install -g pm2
Run Code Online (Sandbox Code Playgroud)
启动一个群集,例如,3个流程:
pm2 start app.js -i 3
Run Code Online (Sandbox Code Playgroud)
并让pm2在启动时启动它们:
pm2 startup
Run Code Online (Sandbox Code Playgroud)
它有一个API,甚至是一个http接口:

转到github并阅读说明.它易于使用且非常方便.永远是最好的事情.
*开发人员在Ubuntu和CentOs中尝试过它,但我已经在Debian中使用过了没有问题.您可以通过以下方式检查它是否对您有效:
npm install -g pm2
Run Code Online (Sandbox Code Playgroud)
Che*_*sin 30
如果我没错,您可以使用命令行启动应用程序,从而也可以使用批处理文件.在这种情况下,使用Windows登录启动它并不是一项非常艰巨的任务.
您只需使用以下内容创建批处理文件:
node C:\myapp.js
Run Code Online (Sandbox Code Playgroud)
并使用.bat扩展名保存.这里myapp.js是你的应用程序,在这个例子中位于C:驱动器(spcify路径).
现在您可以将批处理文件放在启动文件夹中,该文件位于C:\ Users \%username%\ AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
只需在运行dailog框中使用%appdata%打开它,然后找到>漫游> Microsoft> Windows>开始菜单>程序>启动
批处理文件将在登录时执行,并从cmd启动节点应用程序.
小智 6
这可以通过 Windows 任务计划程序轻松手动完成。
然后,创建一个包含以下内容的批处理文件:
cd C:\path\to\project\root
call C:\Users\Username\AppData\Roaming\npm\forever.cmd start server.js
exit 0
Run Code Online (Sandbox Code Playgroud)最后,创建一个登录时运行的计划任务。此任务应调用批处理文件。
小智 5
我建议将 Node.js 应用程序安装为 Windows 服务,然后将该服务设置为在启动时运行。这将使使用 Windows 服务管理单元控制启动操作变得更加容易,而不必在启动文件夹中添加或删除批处理文件。
Stackoverflow 中另一个与服务相关的问题提供了几个(显然)非常好的选择。查看如何将 node.js 安装为 Windows 服务。 node-windows对我来说看起来非常有前途。顺便说一句,我对需要作为服务运行的 Java 应用程序使用了类似的工具。这让我的生活变得更加轻松。希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
85514 次 |
| 最近记录: |