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

yizhihongxing

请参考以下详细攻略:

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日

相关文章

  • JavaScript模仿Pinterest实现图片预加载功能

    下面详细讲解“JavaScript模仿Pinterest实现图片预加载功能”的完整攻略。 1. 什么是图片预加载 图片预加载是在加载网页时,提前将图片资源加载到本地缓存中,等到需要显示的时候直接从本地缓存调用,从而提高网页的加载速度和用户体验。 2. 实现图片预加载的方法 实现图片预加载有多种方法,下面介绍一种比较常用的方法: 2.1 创建一个Image对象…

    node js 2023年6月8日
    00
  • Node.js获取本机Mac地址的两种方案

    首先我们来讲解一下如何获取本机Mac地址的两种方案。 方案一:使用Node.js内置的OS模块 Node.js内置的OS模块提供了获取本机Mac地址的方法,具体实现如下: const os = require(‘os’); const macAddress = () => { const networkInterfaces = os.networkIn…

    node js 2023年6月8日
    00
  • 充分发挥Node.js程序性能的一些方法介绍

    关于“充分发挥Node.js程序性能的一些方法介绍”,我整理了以下几个方面的方法,具体内容如下: 1. 选择合适的Node.js版本 选择合适的Node.js版本可以显著提高性能和稳定性。通常选最新的Node.js版本是最佳实践,因为它们通常包含最新的优化和修复。但是,如果以前发布的Node.js版本更适合特定的应用程序,则将其用于生产环境、测试或开发环境是…

    node js 2023年6月8日
    00
  • Node 升级到最新稳定版的方法分享

    Node 升级到最新稳定版的方法分享 在使用 Node 进行开发时,时常需要升级 Node 版本以获取更好的性能和更多的功能。本文将分享如何升级 Node 到最新稳定版的方法,以及两个实例说明。 方法一:使用 Node Version Manager (NVM) Node Version Manager(NVM)是一个非常流行的 Node 版本管理工具,可以…

    node js 2023年6月8日
    00
  • js+html5实现复制文字按钮

    下面是js+html5实现复制文字按钮的完整攻略。 1. 确定需求和目标 本次任务旨在实现在网页中添加“复制”按钮,用户点击按钮后可以复制指定的文字到剪贴板中。需要使用的技术为HTML5和JavaScript,目标是让用户在使用网站时能够更方便地复制需要的文字。 2. 准备文本内容和按钮元素 首先,在HTML代码中准备好需要复制的文本内容,并在页面中添加一个…

    node js 2023年6月8日
    00
  • js编写简单的聊天室功能

    下面是JS编写简单的聊天室功能的完整攻略: 1. 构建前端页面 首先,需要使用 HTML、CSS 和 JavaScript 来构建聊天室页面。可以使用 Bootstrap 或其他前端框架来简化页面的构建过程。 2. 使用WebSocket协议 使用WebSocket协议来实现实时通信,可以使用 Socket.IO,这是一个基于 Node.js 的跨平台实时通…

    node js 2023年6月8日
    00
  • 一文详解nodejs的path模块使用

    一文详解Node.js的path模块使用 Node.js中的path模块被广泛用于处理文件路径和目录路径。本文将详细介绍如何使用该模块。 引入path模块 使用Node.js提供的require函数引入path模块: const path = require(‘path’); path模块常用方法 1. path.join() 使用path.join()方法…

    node js 2023年6月8日
    00
  • node.js中的url.format方法使用说明

    关于“node.js中的url.format方法使用说明”的攻略,以下是详细说明: 1. url.format方法简介 在Node.js中,url.format方法用于将一个URL对象转换为URL字符串,具体用法为: url.format(urlObject, options) 其中,urlObject 表示一个URL对象,options 表示可选配置项。该…

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