如何使用 cPanel 重启 NodeJS

Posted

技术标签:

【中文标题】如何使用 cPanel 重启 NodeJS【英文标题】:How to restart NodeJS with cPanel 【发布时间】:2018-12-14 17:55:53 【问题描述】:

我需要知道从基于 cPanel 的服务器的根端使用什么来重新启动 NodeJS 应用程序,例如,如果进程由于某些原因现在终止 NodeJS 应用程序在我手动启动它之前不会启动,同样如果服务器重新启动我需要手动启动重新启动它。

此外,对于服务器上的多个帐户也是如此,命令应该允许重新启动/启动更多应用程序。

任何帮助都会很棒

【问题讨论】:

【参考方案1】:

这是一种自动化的方法: - 查找节点服务器 [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

【讨论】:

我这样使用,但它显示错误:s33.postimg.cc/vfa7cpmnz/20180515_213815.jpg 如果我通过 SSH 执行:pm2 start mooServer.js 它工作正常,但通过 cron 它缺少 pid,如您在屏幕截图中看到的. #!/bin/bash NAME="mooServer.js" # 这里是nodejs脚本的名字 RUN=pgrep -f $NAME if [ "$RUN" == "" ];然后 /home/preppers/bin/node /home/preppers/bin/pm2 start /home/preppers/public_html/lib/MooNodeJsServer/mooServer.js 否则 echo "脚本正在运行" fi【参考方案2】:

我刚刚使用了一个 cron 作业,每 5 分钟运行一次以下命令

~/bin/node ~/backends/api/app.js

我在使用 nodemon 时遇到问题,它说这不是命令等等,所以我想直接指向节点并直接指向我的应用程序。

这适用于我的用例,因为如果正在使用 addr,应用程序就会退出。所以如果它崩溃了,它会重新启动它,因为它不会占用地址。

【讨论】:

【参考方案3】:

我建议使用PM2 运行您的node 应用程序。

npm install pm2 -g pm2 start app.js pm2 restart app

如果您在 Linux 机器上使用 nodenodemon,我建议您使用 PM2 来管理服务。它比nodemon 稳定得多,并提供其他生产级功能,例如console.logconsole.error 文件和

https://pm2.io/doc/en/runtime/features/commands-cheatsheet/

【讨论】:

以上是关于如何使用 cPanel 重启 NodeJS的主要内容,如果未能解决你的问题,请参考以下文章

Cpanel 上的 Express/NodeJS 应用程序

如何在 cPanel 上安装 etherpad-lite(共享主机)

如何使用 nodejs 和 typescript 自动重启节点应用程序?

如何使用 Python 连接 cPanel 内的数据库?

通过nodejs在共享cpanel主机上实现websocket服务器

如何使用 cPanel 部署 Django 网站?