如何通过创建启动服务在计算机启动时启动 Node.js 应用程序

如何通过创建启动服务在计算机启动时启动 Node.js 应用程序

我的机器是Ubuntu 16.04。我想在每次机器启动时启动我的node.js应用程序。根据这个邮政关于自动启动服务。我尝试通过执行以下操作来提供服务:

1)我创建了一个脚本来使用节点的forever模块启动节点应用程序。

#!/bin/bash

echo "Starting App"

forever -a start /opt/app/app.js

echo "App started"

2)我给这个脚本命名startApp.sh并把这个脚本放在里面/etc/init.d/文件夹。

3)我运行了命令update-rc.d startApp defaults

但我得到了错误update-rc.d:错误:initscript不存在:/etc/init.d/startApp

我做错了什么?

答案1

有多种方法可以实现这一目标 颗粒物 您可以使用 PM2,它为您提供创建启动脚本来启动预期或意外的计算机重新启动。

http://pm2.keymetrics.io/docs/usage/startup/

码头工人我更喜欢创建 Dockerfile 并使用 --restart=always 标签运行它

如果您想继续执行 shell 脚本 然后使用unix的crontab它非常容易使用&你可以在几分钟内配置

  1. 编辑 crontab 运行以下命令,将“USER”替换为节点进程所需的运行时用户。如果您选择除您自己之外的其他用户,则必须使用 sudo 运行此命令。

    $ crontab -u 用户 -e

  2. 进入编辑器后,添加以下行:

    @reboot /usr/local/bin/forever start /your/path/to/your/index.js else

    @reboot sh /your/path/to/your/startApp.sh

  3. 保存并再次通过#1的检查命令确认文件已保存

    注意:在我看来,您应该使用 crontab 文件中的完整路径来防止出现问题

你可以参考这个网址参考 Ubuntu Cron 操作指南

相关内容