当前位置: 首页 > 面试题库 >

保持meteor在Amazon EC2上运行

商业
2023-03-14
问题内容

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

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

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

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

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


问题答案:

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

$ 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

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



 类似资料:
  • 我现在尝试在Kubernetes集群上运行一个带有shell(/bin/bash)的简单容器。 我认为有一种方法可以通过使用和detach选项(命令上的选项)来保持容器在Docker容器上运行。 但是容器会退出几秒钟(就像使用命令启动一样,没有上面提到的选项)。并且ReplicationController重复地再次启动它。 是否有一种方法可以像命令中的选项一样,使容器在Kubernetes上运行

  • 问题内容: 我现在正在尝试在Kubernetes集群上运行带有shell(/ bin / bash)的简单容器。 我以为有一种方法可以通过使用and detach选项(命令上的选项)来保持容器在Docker容器上运行。 例如, Kubernetes中有这样的选择吗? 我试过使用类似以下的命令来运行容器: 但是容器会退出几秒钟(就像使用不带我上面提到的选项的命令启动一样)。然后Replication

  • 问题内容: 我试图确保脚本仍在开发服务器上运行。它整理统计数据并提供Web服务,因此应该可以持续使用,但是一天几次,它会由于未知原因而死掉。当我们注意到我们只是再次启动它时,但是后部很痛苦,有些用户没有权限(或专有技术)来启动它。 我内的程序员想花几个小时来解决问题的根源,但内心的忙碌的人认为必须有一种简便的方法来检测应用程序是否未运行,然后重新启动它。 我知道我 可以 通过grep cron-s

  • 我只想在用户触摸按钮时为按钮设置不同的背景色。 但在整个过程中,这种颜色一直保持不变,因为按钮正在运行,即使我不再触摸按钮 请帮我找到解决办法

  • 我想让IntentService在后台运行,即使应用程序被终止。但如果我从最近的屏幕上删除我的应用程序,我的服务就会停止。我怎样才能避免这种情况?换句话说,即使我的应用关闭了,最近的应用也无法运行,我该如何保持我的服务运行? 我的前台服务: 我的常数: 我的清单: 当应用程序打开时,我看到服务正在运行。当我通过home按钮最小化应用程序时,它仍在运行。当我通过后退按钮关闭应用程序时,它仍在运行。但

  • 我最近设置了一个Laravel队列系统。最基本的是cronjob调用一个命令将作业添加到队列中,并调用第二个命令发送电子邮件。 当我通过ssh连接到服务器并运行php artisan queue:listen时,系统会工作,但如果我关闭终端,侦听器就会关闭,作业会堆积起来并在队列中等待,直到我通过ssh重新连接并再次运行listen。 保持队列系统在后台运行而不需要通过ssh保持连接打开的最佳方法