代码之家  ›  专栏  ›  技术社区  ›  CaribouCode

Crontab启动节点应用程序,永远处于生产模式

  •  1
  • CaribouCode  · 技术社区  · 11 年前

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

    NODE_ENV=production forever start index.js
    

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

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

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

    2 回复  |  直到 11 年前
        1
  •  2
  •   victorkt    11 年前

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

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

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

        2
  •  2
  •   Sukima    11 年前

    如果您需要在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
    
    推荐文章