📅  最后修改于: 2023-12-03 15:22:59.360000             🧑  作者: Mango
在开发应用程序过程中,启动和守护应用程序是至关重要的步骤。Node.js是一个运行时环境,可以帮助您开发JavaScript应用程序并在Linux,Windows和Mac OS X操作系统中运行。
本文将提供有关在Node.js中启动和守护应用程序的详细说明。我们将讨论如何使用pm2将应用程序守护在后台运行,以及如何使用systemd将应用程序作为系统服务运行。
pm2是一个流行的Node.js守护进程管理器,可以帮助您启动和守护应用程序,以便它们在后台运行。下面是如何使用pm2启动和守护应用程序的步骤:
npm install pm2 -g
pm2 start app.js
pm2 startup
此命令将创建一个系统服务,该服务将在系统启动时启动pm2守护进程。
当pm2守护进程重新启动时,您的应用程序将被自动启动。如果需要保存应用程序列表,请使用以下命令:
pm2 save
systemd是一个系统和服务管理器,可用于Linux操作系统。使用systemd,您可以将应用程序作为系统服务运行。下面是如何使用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
: 服务启动时应启动的目标使用以下命令启动systemd服务:
sudo systemctl start myapp
使用以下命令将应用程序添加为系统服务,并在系统重启后自动启动:
sudo systemctl enable myapp
现在,您已经学会了如何使用pm2和systemd将Node.js应用程序启动和守护在后台。祝您在开发过程中顺利!