【问题标题】:Crontab start node application with forever in production modecrontab 在生产模式下永远启动节点应用程序
【发布时间】:2015-05-10 14:42:55
【问题描述】:

我有一个 node.js 应用程序,我会像这样开始永远使用它:

NODE_ENV=production forever start index.js

我还研究了如何设置 crontab 以在服务器重新启动时自动启动此应用程序的永久命令:

@reboot /usr/local/bin/forever start /path/to/my/app/index.js

这里唯一的问题是节点环境。如何将生产环境添加到 crontab 命令中?

【问题讨论】:

  • 我从未见过这样的 crontab。你正在使用什么 cron 守护进程来提供 @reboot 命令?
  • 呃,我不知道那个命令。学到了新东西,谢谢!

标签: javascript node.js crontab forever


【解决方案1】:

如果您需要在 crontab 中执行带有变量等的特殊命令,编写一个简单的 shell 脚本并从 crontab 调用该脚本会更容易:

#!/bin/bash
export NODE_ENV=production
/usr/local/bin/forever start /path/to/my/app/index.js

使其可执行:chmod 755 /usr/local/bin/start_my_app.sh

然后在你的 crontab 中:

@reboot /usr/local/bin/start_my_app.sh

【讨论】:

    【解决方案2】:

    如果你只想设置一个环境变量,你可以在forever命令之前使用export命令。

    @reboot export NODE_ENV=production; /usr/local/bin/forever start /path/to/my/app/index.js
    

    对于不止一个变量,Sukima 的方法更好。

    【讨论】:

    • 非常感谢。这只是我需要的一个变量,所以我会试试这个。 NODE_ENV=production后面是否需要分号?
    猜你喜欢
    • 2015-03-21
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    相关资源
    最近更新 更多