📜  启动和守护任何应用程序 nodejs - Javascript (1)

📅  最后修改于: 2023-12-03 15:22:59.360000             🧑  作者: Mango

启动和守护任何应用程序 nodejs - Javascript

在开发应用程序过程中,启动和守护应用程序是至关重要的步骤。Node.js是一个运行时环境,可以帮助您开发JavaScript应用程序并在Linux,Windows和Mac OS X操作系统中运行。

本文将提供有关在Node.js中启动和守护应用程序的详细说明。我们将讨论如何使用pm2将应用程序守护在后台运行,以及如何使用systemd将应用程序作为系统服务运行。

使用pm2守护应用程序

pm2是一个流行的Node.js守护进程管理器,可以帮助您启动和守护应用程序,以便它们在后台运行。下面是如何使用pm2启动和守护应用程序的步骤:

  1. 安装pm2
npm install pm2 -g
  1. 启动应用程序
pm2 start app.js
  1. 守护应用程序
pm2 startup

此命令将创建一个系统服务,该服务将在系统启动时启动pm2守护进程。

  1. 保存应用程序列表

当pm2守护进程重新启动时,您的应用程序将被自动启动。如果需要保存应用程序列表,请使用以下命令:

pm2 save
使用systemd将应用程序作为系统服务运行

systemd是一个系统和服务管理器,可用于Linux操作系统。使用systemd,您可以将应用程序作为系统服务运行。下面是如何使用systemd将应用程序作为系统服务运行的步骤:

  1. 创建systemd服务

使用以下命令创建一个名为myapp.service的文件,该文件将作为系统服务运行:

sudo nano /etc/systemd/system/myapp.service

在打开的文件中,输入以下代码:

[Unit]
Description=My Node.js App

[Service]
ExecStart=/usr/bin/node /path/to/my/app.js
Restart=always
User=nobody
Group=nogroup
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/path/to/my/app/directory

[Install]
WantedBy=multi-user.target

说明:

  • Description: 服务的描述
  • ExecStart: 要执行的命令
  • Restart: 当服务停止时是否重启
  • User: 服务在哪个用户下运行
  • Group: 服务运行的组
  • Environment: 服务的环境变量
  • WorkingDirectory: 运行命令的目录
  • WantedBy: 服务启动时应启动的目标
  1. 启动systemd服务

使用以下命令启动systemd服务:

sudo systemctl start myapp
  1. 安装systemd服务

使用以下命令将应用程序添加为系统服务,并在系统重启后自动启动:

sudo systemctl enable myapp

现在,您已经学会了如何使用pm2和systemd将Node.js应用程序启动和守护在后台。祝您在开发过程中顺利!