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日

相关文章

  • node创建Vue项目步骤详解

    下面是Node创建Vue项目的步骤详解: 准备工作 首先需要安装最新版Node.js和npm; 其次需要安装vue-cli,可以在命令行窗口输入以下命令进行安装: npm install -g vue-cli 创建项目 打开命令行窗口,输入以下命令进行创建项目: vue init webpack my-project 其中,my-project为项目名称,可…

    node js 2023年6月8日
    00
  • JS性能优化笔记搜索整理

    下面是JS性能优化笔记搜索整理的完整攻略: 前言 JS代码在处理数据、交互和DOM操作时容易出现性能瓶颈。这就需要我们针对性能优化做好总结,以提高代码质量和用户体验。本文将介绍JS性能优化的基本原则、优化策略和工具。 原则 减少DOM操作和重绘页面。尽量在JS文件内更改样式, 避免使用getComputedStyle和offset等style相关API。 减…

    node js 2023年6月8日
    00
  • 如何在Node和浏览器控制台中打印彩色文字

    对于Node和浏览器控制台来说,打印彩色文字是一个很有用的功能,可以用来组织和突出显示输出内容。下面是如何在Node和浏览器控制台中打印彩色文字的完整攻略: 在Node中打印彩色文字 在Node中打印彩色文字,可以使用chalk模块,这是一个广泛使用的颜色库,支持多种颜色格式和样式。 安装chalk模块 npm install chalk 在代码中引入cha…

    node js 2023年6月8日
    00
  • Nodejs学习笔记之NET模块

    首先我要给大家介绍的是Node.js中的NET模块,它是一个用于创建TCP服务器和客户端的核心模块。我们可以使用该模块创建各种TCP连接,并进一步使用它来实现各种网络应用,如聊天室、游戏等等。 一、创建TCP服务器 使用NET模块,我们可以很容易地创建一个TCP服务器。以下是一个简单的示例: const net = require(‘net’); const…

    node js 2023年6月8日
    00
  • Nodejs中session的简单使用及通过session实现身份验证的方法

    一、什么是session session,即会话,在Node.js中属于Web应用的内部机制,它记录了用户在应用程序中的会话状态。服务器在给客户端返回响应时,会随之返回一个sessionID,该ID会在客户端被记录下来。客户端之后每次访问服务器时,都会携带着这个sessionID一同发送给服务器,以识别当前访问者的身份。 二、Nodejs中session的简…

    node js 2023年6月8日
    00
  • Node.js Koa2使用JWT进行鉴权的方法示例

    以下是详细讲解“Node.js Koa2使用JWT进行鉴权的方法示例”的完整攻略。 什么是JWT JSON Web Token (JWT) 是一个标准,用于在不同的系统之间传输信息作为 JSON 对象。JWT 可以使用秘密(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对来进行签名。JWT 可以包含用户的身份信息,以及应用程序需要的任何其…

    node js 2023年6月8日
    00
  • 详解用Node.js写一个简单的命令行工具

    那么我们来详细讲解一下如何用Node.js写一个简单的命令行工具。可以按照以下步骤进行操作: 第一步:创建一个新的Node.js项目 首先,需要创建一个新的Node.js项目。在命令行中,可以使用以下命令来创建一个新的项目: mkdir my-cli-tool cd my-cli-tool npm init 这将会让你进入一个交互式命令行,你需要回答一些问题…

    node js 2023年6月8日
    00
  • 教你30秒发布一个TypeScript包到NPM的方法步骤

    创建 NPM 账号 首先,你需要在 NPM 官网注册一个账号。注册账号很简单,只需要填写几个基本信息即可。若你已有账号,请跳过此步。 初始化工程 创建工程文件夹,进入此文件夹,初始化工程: npm init (在终端输入该命令后,按照提示输入参数) 安装 TypeScript 在终端输入以下命令: npm install typescript –save-…

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