一尘不染

保持meteor在Amazon EC2上运行

linux

我有一个运行在Amazon EC2服务器上的简单meteor应用程序。一切都很好。我通过meteor项目目录中的用户手动启动它。

但是,我想要这个应用程序

  1. 开机启动
  2. 不受挂断的困扰

我尝试通过运行它nohup meteor&,但是当我尝试注销EC2实例时,出现“您有正在运行的作业”消息。继续注销将停止该应用程序。

如何使应用程序在启动时启动并保持运行状态(除非由于某种原因而崩溃)?


阅读 217

收藏
2020-06-03

共1个答案

一尘不染

永久安装并使用启动脚本。

$ npm install -g forever

我有几个用于管理生产环境的脚本-启动脚本如下所示:

#!/bin/bash

forever stopall

export MAIL_URL=...
export MONGO_URL=...
export MONGO_OPLOG_URL=...
export PORT=3000
export ROOT_URL=...
forever start /home/ubuntu/apps/myapp/bundle/main.js

exit 0

方便地,它还将追加到日志文件中~/.forever,该文件将显示运行应用程序时遇到的任何错误。您可以通过以下方式获取日志文件的位置以及有关您应用的其他统计信息:

$ forever list

为了使您的应用程序在启动时启动,您需要做一些适合您的linux风格的事情。您可能只需将启动脚本放入中/etc/rc.local

另外请注意,你 真的应该,如果在生产中使用它可以捆绑你的应用程序。

2020-06-03