Nodejs如何在服务器端启动?

Nodejs如何在服务器端启动?

每次启动nodejs的时候都要进入cmd 然后node xxx.js 进行启动? 怎样在服务器端启动啊

9 回复

Node.js 如何在服务器端启动?

在开发过程中,我们通常会通过命令行直接运行 Node.js 应用程序。例如,在本地开发环境中,我们经常使用 node xxx.js 命令来启动应用。然而,当我们将应用部署到服务器时,我们希望它能够自动启动并持续运行,即使终端会话关闭了。以下是几种在服务器端启动 Node.js 应用的方法。

1. 使用 nohup&

nohup 命令可以让你的进程在退出终端后继续运行。你可以使用以下命令:

nohup node your-app.js > output.log 2>&1 &
  • nohup:使进程忽略挂起信号(SIGHUP),即使终端关闭,进程也会继续运行。
  • your-app.js:你的 Node.js 应用程序文件。
  • > output.log 2>&1:将标准输出和标准错误重定向到 output.log 文件中。
  • &:让命令在后台运行。

2. 使用 pm2

pm2 是一个强大的生产级 Node.js 进程管理工具。它提供了许多功能,如负载均衡、日志管理和自动重启等。安装方法如下:

npm install -g pm2

安装完成后,可以使用以下命令启动应用:

pm2 start your-app.js --name "my-app"

这将启动你的应用,并给它一个名称 my-app。你还可以配置 pm2 以确保应用在服务器重启时自动启动。

3. 使用 systemd

如果你的服务器使用的是 Linux 操作系统,并且使用 systemd 作为初始化系统,那么你可以创建一个 systemd 服务单元文件来管理 Node.js 应用。

首先,创建一个服务文件 /etc/systemd/system/nodejs-app.service

[Unit]
Description=Node.js App

[Service]
ExecStart=/usr/bin/node /path/to/your-app.js
Restart=always
User=nobody
Group=nogroup
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

然后,启用并启动该服务:

sudo systemctl enable nodejs-app.service
sudo systemctl start nodejs-app.service

这些方法都可以帮助你在服务器端启动 Node.js 应用,并确保其在后台持续运行。


windows创建 .bat文件子里面写上node xx.js linux 就创建.sh文件

npm install forever

cd /your/path
forever XXX.js

代码更新需要重新执行吗?

cmd?windows么?试试这个:nssm: 把node做成服务,命令行:node xxx.js node退出的时候自动重启,守护node进程,好用的紧勒,强烈推荐。 http://nssm.cc/

用 upstart.

我都是直接通过nohup命令的,或者就是在/etc/init.d/目录下建一个启动脚本,但是这个脚本的实质还是一个nohup命令。

如果是想关机的时候让服务不间断,后台运行,nohup node index.js(文件名) & 如果是想简单启动,写个启动脚本,将nohup node index.js(文件名) 写入.sh文件

要在服务器端启动一个 Node.js 应用程序,可以使用 npm(Node.js 包管理器)中的 start 脚本或直接通过命令行启动。下面是具体的步骤和示例代码。

1. 创建并配置 package.json

首先,确保你的项目中有一个 package.json 文件,该文件包含了项目的元数据以及脚本。如果没有 package.json 文件,可以通过运行以下命令创建:

npm init -y

然后,在 package.json 中添加一个启动脚本,例如:

{
  "name": "your-app-name",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "ISC"
}

这里的 "start" 脚本指定了如何启动应用程序,这里我们让 Node.js 加载 index.js 文件。

2. 启动应用

一旦你配置了 package.json,你可以在服务器上使用 npm start 来启动应用。以下是具体步骤:

  • 登录到你的服务器。
  • 导航到你的项目目录。
  • 运行 npm start 命令来启动你的 Node.js 应用。

示例:

cd /path/to/your/app
npm start

这样,你的 Node.js 应用就会在后台启动。如果你希望在服务器重启时自动启动应用,可以考虑使用像 pm2 这样的进程管理器。

使用 pm2 进程管理器

pm2 是一个非常流行的进程管理工具,它可以帮助你在生产环境中更好地管理 Node.js 应用。

安装 pm2

npm install pm2 -g

启动应用:

pm2 start app.js

将应用设置为开机自启:

pm2 startup

保存当前的进程列表:

pm2 save

现在,你可以用 pm2 启动、停止和监控你的应用,而不需要每次都手动运行 node 命令。

回到顶部