在一台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的初学者。
在一台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的初学者。
当前回答
我建议寻找诸如Forever之类的东西来在崩溃时重新启动Node,并为您处理这个守护进程。
其他回答
不需要安装其他包。
执行此命令
node server.js > stdout.txt 2> stderr.txt &
server.js是你的服务器文件,也可以是api.js
之后,点击“退出”关闭终端
exit
你可以使用PM2,它是一个带有内置负载均衡器的Node.js应用程序的生产过程管理器。
安装PM2
$ npm install pm2 -g
启动应用程序
$ pm2 start app.js
如果你使用express,你可以启动你的应用程序
pm2 start ./bin/www --name="app"
列出所有正在运行的进程:
$ pm2 list
它将列出所有进程。然后,您可以使用以下命令使用应用程序的ID或名称来停止/重新启动服务。
$ pm2 stop all
$ pm2 stop 0
$ pm2 restart all
显示日志
$ pm2 logs ['all'|app_name|app_id]
我建议寻找诸如Forever之类的东西来在崩溃时重新启动Node,并为您处理这个守护进程。
我发现永远都做得很好。
假设你已经安装了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