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

如何在AWS上的Amazon Linux AMI中自动启动node.js应用程序?

严亦
2023-03-14
问题内容

是否有简短的指南来说明实例启动并运行时如何启动应用程序?如果它是已安装的服务之一,yum那么我想可以将/sbin/chkconfig其添加到服务中。(请确保正确吗?)

但是,我只想运行未通过安装的程序yum。要运行node.js程序,sudo node app.js每当系统启动时,我都必须在主目录中运行脚本。

我不习惯使用Amazon Linux AMI,因此,我很容易找到一种“正确”的方式来在每次引导时自动运行某些脚本。

有没有一种优雅的方法可以做到这一点?


问题答案:

一种方法是创建新贵工作。这样,您的应用程序将在Linux加载后启动,如果崩溃将自动重启,您可以通过sudo start yourapp/ sudo stop yourapp/ 启动/停止/重新启动它sudo restart yourapp

这是开始步骤:

1)安装upstart实用程序(如果您使用标准的Amazon Linux AMI,则可以预先安装):

sudo yum install upstart

对于Ubuntu:

sudo apt-get install upstart

2)为您的节点应用程序创建upstart脚本:

/etc/init添加文件中yourappname.conf使用以下代码行:

#!upstart
description "your app name"

start on started mountall
stop on shutdown

# Automatically Respawn:
respawn
respawn limit 99 5

env NODE_ENV=development

# Warning: this runs node as root user, which is a security risk
# in many scenarios, but upstart-ing a process as a non-root user
# is outside the scope of this question
exec node /path_to_your_app/app.js >> /var/log/yourappname.log 2>&1

3)通过以下方式启动您的应用 sudo start yourappname



 类似资料:
  • 我想知道,任何应用的后台服务都可以由小米提供吗?我的应用中有服务需要一直在后台运行,在所有的设备中,它的工作都很好,除了小米,如何可以做到编程?

  • 问题内容: 我尝试使用范围类型APPLICATION和带有@ Create,@ Beg的方法来注释类,但这似乎不起作用。 我想要的是在应用程序启动时立即启动无限循环。 问题答案: 如果希望在初始化后立即执行方法,则可以使用以下注释:

  • 我有一个简单的电子应用程序,我想在多个平台上运行。我从git挂钩启动应用程序。我有多个特定于平台的应用程序包发布到npm。windows路径运行良好。下面是我的windows commit msg钩子脚本(它运行我的electron apps.exe,效果很好): 我在mac上安装了这个git钩子脚本(它不起作用)。 当mac钩子运行时,它会出现以下错误: 看起来我可能试图在mac上错误地启动这个

  • 问题内容: 我遇到的是与该问题相同的问题,由于最初的提问者放弃了这条路线,因此并未真正解决。我正在尝试使用Babel6在Azure上运行节点应用程序。我正在使用的文件包含以下内容: 我已经使用Azure控制台进行了检查,节点模块已安装,文件位于中。尽管如此,当我提交到Azure时仍然得到以下信息: 在Azure上运行的npm版本是3.10.3,节点版本是6.6.0。任何人都可以建议如何启动和运行它

  • 当我的树莓电源故障时,Android的东西在主页上重启,而没有我的应用程序,我必须手动重新发送它,我如何修复Android的东西在重启时自动运行应用程序?

  • 问题内容: 我正在编写一个使用node.js访问本地文件系统的桌面Web应用程序。我目前可以使用node.js打开文件并将其复制到硬盘驱动器上的不同位置。我还想做的是允许用户使用与文件类型关联的应用程序打开特定文件。换句话说,如果用户在Windows环境中选择“ myfile.doc”,它将使用该文件启动MSWord。 我一定是术语的受害者,因为除了与node.js进行通信的子进程的生成之外,我什