请教在windows下面让Nodejs服务器开机自启动有没有什么好办法?

请教在windows下面让Nodejs服务器开机自启动有没有什么好办法?

麻烦给出技术或工具名,最好能有示例,如果能推荐不坑的博文更好,感谢了!

6 回复

当然可以。在Windows系统下让Node.js服务器开机自启动可以通过多种方式实现。以下是几种常见的方法,包括使用任务计划程序、创建Windows服务等。

方法一:使用任务计划程序

任务计划程序是Windows内置的一个功能,可以用来执行各种任务,包括启动一个应用程序或脚本。

  1. 打开任务计划程序(可以在开始菜单搜索“任务计划程序”)。
  2. 在右侧操作栏中选择“创建基本任务”。
  3. 按照向导提示输入任务名称和描述,然后点击“下一步”。
  4. 选择“当计算机启动时”触发器,然后点击“下一步”。
  5. 选择“启动程序”,然后点击“下一步”。
  6. 在“程序/脚本”文本框中输入Node.js可执行文件的路径(例如 C:\Program Files\nodejs\node.exe),在“添加参数”文本框中输入你的Node.js应用的入口文件路径(例如 C:\path\to\your\application\server.js)。
  7. 完成向导设置,点击“完成”。

示例:

# 假设Node.js安装在C:\Program Files\nodejs
# 应用程序入口文件位于C:\path\to\your\application\server.js

C:\Program Files\nodejs\node.exe C:\path\to\your\application\server.js

方法二:使用NSSM(Non-Sucking Service Manager)

NSSM是一个命令行工具,可以将任何可执行文件转换为Windows服务,这样就可以在系统启动时自动运行。

  1. 下载NSSM:可以从这里下载最新版本。
  2. 解压下载的文件,并将其放置在一个方便的位置,如 C:\nssm
  3. 将Node.js应用的可执行文件路径添加为Windows服务:
    # 打开命令提示符,切换到NSSM目录
    cd C:\nssm
    # 添加服务
    nssm install NodeJSService "C:\Program Files\nodejs\node.exe" "C:\path\to\your\application\server.js"
    

这将在Windows服务列表中创建一个新的服务,名为 NodeJSService。你可以在服务管理器中找到它并确保其启动类型设置为“自动”。

这两种方法都可以实现Node.js服务器的开机自启动,你可以根据自己的需求选择适合的方法。


你说的

node服务器开机自启动

是指要开机自动执行node app.js吗?

那就需要把它注册一个windows service,然后设置这个服务为开机自动启动。

方法1. 直接使用nssm工具,或者它的node.js包装程序Winser

方法2. 直接使用node.js程序,如windows-service或者node-windows

顶! 然后远程桌面,win2003 可以使用:%windir%\system32\mstsc.exe -admin 直接查看到作为服务的console。

兄弟。。iisnode 完全不需要手动操作任何,比pm2还要方便的多的多

要在Windows系统下实现Node.js服务器的开机自启动,可以通过创建一个Windows服务来实现。可以使用node-windows库来简化这个过程。node-windows提供了一种简单的方式来将Node.js应用作为Windows服务运行。

示例代码

首先需要安装node-windows库:

npm install windows-service --save

然后编写一个简单的Node.js脚本,例如app.js,它启动你的服务器:

// app.js
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

接下来,编写一个用于创建Windows服务的脚本,例如create-service.js

// create-service.js
const Service = require('node-windows').Service;

// Create a new service object
const svc = new Service({
  name: 'My NodeJS Server',
  description: 'The nodejs.org example web server',
  script: 'C:\\path\\to\\your\\app.js'
});

// Listen for the "install" event, which indicates the
// process is available as a service.
svc.on('install', function() {
  svc.start();
});

svc.install();

确保将script字段中的路径替换为你的app.js的实际路径。

运行该脚本以安装服务:

node create-service.js

安装完成后,你的Node.js应用将作为一个Windows服务运行,并且会在系统启动时自动启动。

总结

通过使用node-windows库,你可以轻松地将Node.js应用设置为Windows服务,并实现开机自启动。这种方法不仅简单而且可靠。如果你更喜欢图形界面操作,也可以考虑使用Windows的任务计划程序来启动Node.js应用,但这种方法不如上述方法直观和易于管理。

回到顶部