node.js程序作为服务并在windows下开机自启动(用forever)

请参考以下详细攻略:

1.简介

Node.js是一个非常轻量级的运行时环境,可用于构建服务器端JavaScript应用程序。可以使用Node.js构建丰富的Web应用程序和应用程序部署方案。在Windows操作系统中,我们可以使用forever工具将Node.js程序作为服务并在开机时自动启动。

2.安装forever

forever是一个基于Node.js实现的简单的服务器进程管理工具,它可以让你启动、停止、重启、查看日志等操作进程。我们可以使用npm安装forever:

打开命令行窗口,输入以下命令:

npm install -g forever

3.将Node.js程序作为服务运行

使用forever将Node.js程序作为服务运行的步骤如下:

  1. 将Node.js程序代码保存为一个文件,如server.js。

  2. 打开命令行窗口,进入程序目录,输入以下命令:

forever start server.js

此时Node.js程序就作为一个服务在后台运行了。如果需要关闭该服务,可以使用以下命令:

forever stop server.js

4.Windows下的开机自启动

为了使Node.js程序在Windows开机时自动启动,我们需要创建一个服务并将其配置为自动启动。下面我们将使用nssm(Non-Sucking Service Manager)工具来创建和配置这个服务。

4.1 下载和安装nssm

  1. 打开 http://www.nssm.cc/download 下载nssm。
  2. 将下载的压缩包解压到一个文件夹中(如:C:\nssm)。

4.2 创建并配置服务

  1. 打开命令行窗口,切换到nssm所在目录,执行以下命令:
nssm install <Service Name>

其中表示服务名称,可以为任何名称。

  1. 在弹出的对话框中,配置以下选项:

  2. Application:选择Node.js程序的可执行文件,如node.exe。

  3. Arguments:输入启动程序的参数,如server.js,这将运行server.js脚本。
  4. Startup directory:指定程序的启动目录。
  5. Log file path:输入输出log文件的路径,如:C:\logs\log.txt。
  6. Startup type:选择“自动”。

  7. 点击“Install Service”,服务就创建完成了。

4.3 启动服务

  1. 打开计算机管理工具,选择“服务和应用程序” -> “服务”。
  2. 找到刚才创建的服务,右键单击选择“启动”即可。

现在服务已经成功启动,无需手动启动Node.js程序,服务将在Windows开机时自动启动。

5.示例

这里提供两个示例以帮助您更好地理解上述过程。

示例1:使用express框架创建http服务器

文件名:server.js

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('App listening on port 3000!');
});

使用forever将Node.js程序作为服务运行:

forever start server.js

使用nssm创建并配置服务:

nssm install MyService

在弹出的对话框中配置以下选项:

  • Application:C:\Program Files\nodejs\node.exe
  • Arguments:D:\myproject\server.js
  • Startup directory:D:\myproject\
  • Log file path:D:\myproject\logs.txt
  • Startup type:选择“自动”

使用“计算机管理工具”启动服务。

示例2:使用koa框架创建https服务器

文件名:server.js

const https = require('https');
const Koa = require('koa');
const app = new Koa();

app.use(ctx => {
  ctx.body = 'Hello World';
});

const options = {
  key: fs.readFileSync('cert/yoursite.com.key'),
  cert: fs.readFileSync('cert/yoursite.com.crt')
};

https.createServer(options, app.callback()).listen(3000, () => {
  console.log('App listening on port 3000!');
});

使用forever将Node.js程序作为服务运行:

forever start server.js

使用nssm创建并配置服务:

nssm install MyService

在弹出的对话框中配置以下选项:

  • Application:C:\Program Files\nodejs\node.exe
  • Arguments:D:\myproject\server.js
  • Startup directory:D:\myproject\
  • Log file path:D:\myproject\logs.txt
  • Startup type:选择“自动”

使用“计算机管理工具”启动服务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js程序作为服务并在windows下开机自启动(用forever) - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • nodejs 中的读取文件fs模块示例详解

    接下来我将为您详细讲解“nodejs 中的读取文件fs模块示例详解”的完整攻略。首先,先从 fs 模块的引入开始介绍。 引入 fs 模块 在 Node.js 中,fs 模块用于对文件系统进行操作,包括读写文件等功能。要使用 fs 模块,需要在文件开头进行模块引入: const fs = require(‘fs’); 读取文件 fs 模块中提供了多个方法用于读…

    node js 2023年6月8日
    00
  • 一步步教你使用node搭建一个小页面

    一步步教你使用Node搭建一个小页面 本文将为你介绍使用Node搭建一个简单的Web页面的步骤。 步骤1:安装Node.js 在开始搭建Web页面之前,首先需要安装Node.js。你可以在Node.js的官网上下载安装包并按照安装向导进行安装(https://nodejs.org/zh-cn/)。 安装完成后,可以在命令行中通过输入以下命令来验证Node.j…

    node js 2023年6月8日
    00
  • 利用Node.js+Koa框架实现前后端交互的方法

    使用Node.js和Koa框架,可以轻松地实现前后端交互。下面是一份完整攻略,包含了从创建项目到实现前后端交互的所有步骤。 步骤一:创建一个新项目 首先,我们需要创建一个新项目。可以使用npm init命令创建一个新的包管理文件,并安装koa框架。 mkdir node-koa-demo cd node-koa-demo npm init npm insta…

    node js 2023年6月8日
    00
  • node之本地服务器图片上传的方法示例

    下面我会详细讲解“node之本地服务器图片上传的方法示例”的完整攻略。 1. 引言 本攻略主要介绍如何使用Node.js创建本地服务器,并实现图片上传功能。我们将基于Express框架,使用Multer中间件进行图片上传处理,最终将图片保存到本地服务器的指定目录中。 2. 准备工作 在开始之前,你需要先安装好Node.js和npm包管理器,并确保你熟悉了No…

    node js 2023年6月8日
    00
  • node.js学习之base64编码解码

    Node.js学习之Base64编码解码攻略 在 Node.js 中,可以通过内置的 Buffer 模块进行 Base64 编码解码。本篇攻略将详细介绍 Node.js 中进行 Base64 编码和解码的方法和示例。 Base64 编码原理 Base64 编码是一种将二进制数据转换成 ASCII 字符串的编码方式,以便在网络上传输。Base64 编码算法将每…

    node js 2023年6月8日
    00
  • JS创建Tag标签的方法详解

    下面是针对“JS创建Tag标签的方法详解”的完整攻略。 1. document.createElement()方法 JavaScript中提供了 document.createElement() 方法,可以通过该方法创建指定的HTML标签元素。 语法格式如下: document.createElement(tagName); 其中 tagName 是字符串类…

    node js 2023年6月8日
    00
  • Node.js中使用事件发射器模式实现事件绑定详解

    以下是一份详细的“Node.js中使用事件发射器模式实现事件绑定详解”的攻略: 一、什么是事件发射器? 事件发射器(Event Emitter)是Node.js中内置的一个模块,它可以让我们实现事件与事件处理函数的关联。事件发射器模式又称为观察者模式(Observer Pattern),它通过一种对象间的发布/订阅机制来解耦应用程序的组件。事件发射器将会发射…

    node js 2023年6月8日
    00
  • node内置调试方法总结

    Node.js内置调试方法总结 在Node.js中,我们可以使用内置的调试方法来方便地调试我们的代码。本文将介绍Node.js内置的调试方法,包括使用debugger语句、在命令行中使用node inspect命令、以及使用Chrome开发者工具进行调试。 使用debugger语句进行调试 在Node.js中,我们可以使用debugger语句来暂停代码的执行…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部