在一台Debian服务器上,我安装了Node.js。我知道如何用这个命令行从putty启动一个应用程序:

node /srv/www/MyUserAccount/server/server.js

并在地址50.51.52.53:8080 (IP和端口)上访问它。

但是当我一关闭putty,我就无法到达50.51.52.53:8080这个地址了。

如何让一个Node.js应用程序永久运行?

你可以猜到,我是Linux和Node.js的初学者。


当前回答

我发现永远都做得很好。

假设你已经安装了npm,如果没有,就这样做

sudo apt-get install npm

然后永远安装

npm install forever --global

现在你可以这样运行它

forever start app.js

https://codingweb.io/run-nodejs-application-background/

其他回答

如果你只是想在终端中运行你的节点应用程序,只需要使用screen。

安装在ubuntu/ debian上:

sudo apt-get install screen

用法:

$ screen
$ node /path/to/app.js

CTRL + a,然后CTRL + d取消

get就是回来:

一屏:screen -r

如果有多个屏幕,可以使用screen -ls列出所有屏幕

然后:screen -r pid_number

你可以简单地使用这个

nohup node /srv/www/MyUserAccount/server/server.js &

这将保持应用程序运行,关闭它,你将不得不杀死它。

为此,你可以安装htop,然后搜索节点,然后杀死它

安装

$ [sudo] npm install forever -g

您可以使用forever来连续运行脚本

forever start server.js

forever list

停止服务

forever stop server.js

我推荐使用PM2,这是一个Node.js应用程序的进程管理器。PM2提供了一种简单的方法来管理和守护应用程序(将它们作为服务运行)。

参考这个链接- https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-centos-7

Forever包适合我,只有一件事,它取决于deep-equal,所以如果你在安装它时遇到了问题:

npm -g install forever

Try:

npm -g install forever deep-equal@1.1.1

代替。