计划的cron作业在OS启动时运行meteor

我安排了cron作业,用于在Debian 7和Centous 6.5上启动系统时使用meteor开发的项目。 而且一切都很好,直到不明原因坠毁。

Cron包含运行用meteor开发的Rocket.Chat项目的命令。 当我通过SSH连接运行meteor命令,Rocket.chat运行,直到ssh连接打开。

最后,我想知道如何在系统启动时运行meteor或node.js项目,因为该项目不会崩溃,直到系统closures或杀死cron。

保持NodeJS应用程序运行并启动的一个好方法是使用PM2( https://github.com/Unitech/pm2 )。 Rocket.Chat甚至在应用程序的根文件夹中有一个示例configuration文件。

另外,请确保在生产环境中不要使用meteor命令,它只是用于开发,因为它有很多debuggingfunction,使应用程序变得更慢。

你应该从https://rocket.chat/releases/下载编译版本

为了回应你的第一个问题,当你的ssh连接死亡时meteorclosures,你总是可以使用nohup

  nohup meteor > /dev/null & 

即时设置/ dev / null作为输出,但如果你指定一个文件,你会得到什么通常打印到屏幕的日志。 当你断开你的meteor将继续运行:)。

在启动时运行一个服务,你真的不需要cron,你可以创build一个脚本。 如果使用基于Debian或Debian的发行版(如您的标签所暗示的),只需复制骨架脚本即可

 cp /etc/init.d/skeleton /etc/init.d/myCoolNodeProject 

并在您的环境中编辑您的文件,了解如何开始停止您的nodejs服务

然后运行

  update-rc.d myCoolNodeProject defaults 

将其设置为在启动时启动。 希望能帮助到你

有一个很好的工具称为乘客

https://www.phusionpassenger.com/

这可以让你设置一个NGINX代理来运行80端口上的所有meteor应用程序,并且在运行这些进程之后,不需要cron作业,也不必担心如何设置nohup。

他们的帮助很好,Passenger与NGINX虚拟主机configuration很容易集成,不会回头

Interesting Posts