请问如何在windows服务器上启动Nodejs的网站呀?

请问如何在windows服务器上启动Nodejs的网站呀?

用Node.js开发的网站, 数据库是 MS Sql Server, 现在要在windows服务器上部署网站。 如果用cmd的方式, 很容易被关闭的, 在linux下可以有脚本来执行, 但现在客户的服务器不能改成linux, 所以想问下各位在windows下有没有类似的脚本呢?

4 回复

当然可以。以下是如何在Windows服务器上启动一个基于Node.js的网站,并确保它即使在命令行窗口关闭后也能持续运行的方法。

步骤1: 安装Node.js

首先,确保你的Windows服务器已经安装了Node.js。你可以从Node.js官方网站下载并安装最新版本的Node.js。

步骤2: 准备你的Node.js应用

假设你已经有一个Node.js应用,该应用使用Express框架创建了一个简单的Web服务器。你的项目结构可能看起来像这样:

my-node-app/
├── app.js
├── package.json
└── ...

app.js 文件可能包含如下代码:

const express = require('express');
const app = express();
const port = process.env.PORT || 3000;

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

app.listen(port, () => {
    console.log(`Server running on port ${port}`);
});

package.json 文件则包含应用的依赖和启动命令,例如:

{
  "name": "my-node-app",
  "version": "1.0.0",
  "description": "A simple Node.js web application",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.18.2"
  }
}

步骤3: 使用PM2管理Node.js应用

为了确保应用在后台持续运行,我们可以使用PM2(一个进程管理工具)。PM2允许你在生产环境中更好地管理Node.js应用。

安装PM2

打开命令提示符或PowerShell,然后运行以下命令安装PM2:

npm install -g pm2

使用PM2启动应用

安装完成后,你可以通过以下命令启动你的Node.js应用:

pm2 start app.js --name my-node-app

这将启动你的应用,并且即使关闭命令行窗口,应用也会继续运行。

配置PM2自动重启

为了确保应用在崩溃时能够自动重启,你可以添加一个配置文件或直接在启动命令中指定:

pm2 start app.js --name my-node-app --watch --restart-delay 5000

这里,--watch 选项表示PM2会监视文件变化,而 --restart-delay 5000 则表示当应用崩溃时,PM2会在5秒后尝试重启它。

步骤4: 设置PM2开机自启

为了让PM2管理的应用在服务器重启后自动启动,你需要设置PM2开机自启:

pm2 startup

这将输出一条命令,你需要将其复制并在命令行中运行以完成设置。之后,你可以保存当前正在运行的所有PM2进程,以便它们在下次服务器重启时自动启动:

pm2 save

以上就是在Windows服务器上启动和管理Node.js网站的基本步骤。


好像有个IISNode,没用过

注册成Windows服务就可以了. nssm或者sc命令

要在Windows服务器上启动一个Node.js网站,并确保它能够在后台持续运行,可以使用一些工具或脚本来实现。下面是一些推荐的方法:

使用npm startnode .

最简单的方法是在项目根目录下创建一个package.json文件,添加一个start脚本。例如:

{
  "name": "your-app",
  "version": "1.0.0",
  "scripts": {
    "start": "node ."
  }
}

然后,你可以通过以下命令启动应用:

npm start

或者直接用:

node .

这种方法简单,但当你关闭命令行窗口时,进程也会随之终止。

使用pm2

为了使Node.js应用在Windows上持久运行,可以考虑使用pm2(这是一个非常流行的进程管理器)。首先需要安装pm2全局:

npm install -g pm2

接着,可以在项目中创建一个ecosystem.config.js文件来配置应用的启动方式:

module.exports = {
  apps: [{
    name: 'your-app',
    script: './index.js',
    watch: true,
    instances: 'max',
    env: {
      "PORT": "3000",
      "NODE_ENV": "production"
    }
  }]
};

然后使用pm2来启动你的应用:

pm2 start ecosystem.config.js

这样即使你关闭了命令行窗口,应用依然会在后台运行。此外,pm2还提供了丰富的监控、日志管理和负载均衡功能。

使用Windows服务

对于生产环境,还可以考虑将Node.js应用安装为Windows服务,使用工具如NSSM(Non-Sucking Service Manager)来完成。

数据库连接

针对MS SQL Server的连接,可以使用mssql包,确保在你的项目中安装:

npm install mssql

然后在代码中配置数据库连接字符串,进行数据库操作。

通过上述方法,你可以确保Node.js应用在Windows服务器上稳定运行。

回到顶部