如何让npm start永久运行

33 浏览
0 Comments

如何让npm start永久运行

我克隆了一个Git仓库,并尝试使用\"npm start\"运行它。但只有在我退出终端之前才能正常工作。如何让它在我退出终端后继续运行?我正在使用NGINX和Ubuntu 20.04,它运行在\"http://localhost:3000\"上,但我设置了一个代理,将我的\"example.com\"指向它。我应该如何保持它持续运行,即使我关闭服务器并重新启动,它也能重新开始,类似于\"systemd\"的方式。

0
0 Comments

有时候我们希望在后台一直运行npm start命令,但是当我们关闭终端窗口时,该命令也会停止运行。那么如何让npm start命令一直在后台运行呢?

我们可以通过创建一个进程来实现。首先,我们可以通过按下Ctrl+Z来将进程暂停,并使用bg命令将其发送到后台运行。但是,这样做后,当我们关闭终端窗口时,进程仍然会终止。

为了让进程在终端关闭后继续运行,我们可以使用nohup命令。nohup命令可以在后台运行进程,并且在终端关闭后不会终止。我们可以使用以下命令来运行npm start命令:

nohup npm start &

这样,npm start命令就会在后台一直运行,即使我们关闭了终端窗口。

另外,我们还可以创建一个服务,在系统启动时自动运行npm start命令。这样,无论是否有用户登录,npm start命令都会一直在后台运行。具体实现方式如下:

1. 创建一个新的服务文件,比如npmstart.service。

2. 在该文件中,写入以下内容:

[Unit]

Description=npm start

[Service]

ExecStart=/path/to/npm start

WorkingDirectory=/path/to/project

[Install]

WantedBy=default.target

请将/path/to/npm start和/path/to/project替换为实际的npm start命令路径和项目路径。

3. 将该服务文件保存到系统服务目录,比如/etc/systemd/system/目录。

4. 运行以下命令启动该服务,并将其设置为开机自启动:

sudo systemctl start npmstart
sudo systemctl enable npmstart

现在,npm start命令将会在系统启动时自动运行,并且会一直在后台运行。

通过上述方法,我们可以实现让npm start命令一直在后台运行,无论终端是否关闭。这样可以确保我们的应用程序一直处于运行状态,即使我们不再登录系统。

0