【发布时间】:2023-09-09 15:43:01
【问题描述】:
我需要知道从基于 cPanel 的服务器的根端使用什么来重新启动 NodeJS 应用程序,例如,如果进程由于某些原因现在终止 NodeJS 应用程序在我手动启动它之前不会启动,同样如果服务器重新启动我需要手动启动重新启动它。
此外,对于服务器上的多个帐户也是如此,命令应该允许重新启动/启动更多应用程序。
任何帮助都会很棒
【问题讨论】:
标签: node.js cpanel application-restart
我需要知道从基于 cPanel 的服务器的根端使用什么来重新启动 NodeJS 应用程序,例如,如果进程由于某些原因现在终止 NodeJS 应用程序在我手动启动它之前不会启动,同样如果服务器重新启动我需要手动启动重新启动它。
此外,对于服务器上的多个帐户也是如此,命令应该允许重新启动/启动更多应用程序。
任何帮助都会很棒
【问题讨论】:
标签: node.js cpanel application-restart
这是一种自动化的方法:
- 查找节点服务器 [eq. server.js] 是否正在运行。
- 如果服务器没有运行,请通过“nodemon server.js”重新启动。
- 否则,如果服务器正在运行,则什么也不做。
您可以在 bash 脚本 [下面的示例代码] 中对此进行编码,并在您的 cpanel 中设置一个 CRON 作业以在特定时间后运行它。
#!/bin/bash
NAME="server.js" # nodejs script's name here
RUN=`pgrep -f $NAME`
if [ "$RUN" == "" ]; then
nodemon server.js
else
echo "Script is running"
fi
【讨论】:
pgrep -f $NAME if [ "$RUN" == "" ];然后 /home/preppers/bin/node /home/preppers/bin/pm2 start /home/preppers/public_html/lib/MooNodeJsServer/mooServer.js 否则 echo "脚本正在运行" fi
我刚刚使用了一个 cron 作业,每 5 分钟运行一次以下命令
~/bin/node ~/backends/api/app.js
我在使用 nodemon 时遇到问题,它说这不是命令等等,所以我想直接指向节点并直接指向我的应用程序。
这适用于我的用例,因为如果正在使用 addr,应用程序就会退出。所以如果它崩溃了,它会重新启动它,因为它不会占用地址。
【讨论】:
我建议使用PM2 运行您的node 应用程序。
npm install pm2 -g
pm2 start app.js
pm2 restart app
如果您在 Linux 机器上使用 node 或 nodemon,我建议您使用 PM2 来管理服务。它比nodemon 稳定得多,并提供其他生产级功能,例如console.log 到console.error 文件和
【讨论】: