Amazon Elastic Beanstalk 上的 Node.js 部署问题

标签 node.js amazon-web-services amazon-elastic-beanstalk

我正在尝试使用 Amazon Elastic Beanstalk 服务部署 node.js 应用程序。按照本教程 (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.sdlc.html),我设法部署了该应用程序。但是,一旦上传到亚马逊,应用程序就无法启动。调查日志显示以下错误:“无法运行 npm install”。

有人知道问题可能是什么吗?该应用程序在本地运行良好。

提前感谢您的帮助!

最佳答案

我遇到了同样的问题,Kevin 的解决方案为我解决了这个问题,但引入了另一个问题:EB 为自动扩展而生成的新实例也需要手动配置。这是我为解决这两个问题而对 Kevin 方法所做的修改:

解决 Kevin 问题的另一种方法是将所需的包添加到应用程序的配置文件中。创建一个扩展名为 .config 的配置文件(例如 myapp.config),并将其放在源包的 .ebextensions 顶级目录中。为了需要 openssl-devel 包,请在配置文件中包含这些行:

packages:
    yum:
        openssl-devel: []

有关配置文件所在位置的详细信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_custom_container.html

以及在配置文件中包含包(以及更多)的详细信息: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html

关于Amazon Elastic Beanstalk 上的 Node.js 部署问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460855/

相关文章:

amazon-web-services - AWS lambda(无服务器)是否像支持一次性功能一样支持应用程序的安装?

amazon-elastic-beanstalk - eb init - ElasticBeanstalk 应用程序环境未显示在选项列表中

java - 无论 RAM 大小或 docker 配置,我都会收到警告 "Container memory limit unset. Configuring JVM for 1G container."

node.js - Node js - 如何依次执行两个Windows命令并获取输出

node.js - Node ,socket.io - 授权失败

node.js - 如何安装 Jasmine Node (理想情况下不使用 'sudo')?

mysql - 如何为 MySQL 模型制作 GraphQL 模式?

amazon-web-services - 在本地获取Sagemaker容器

amazon-web-services - 使用 cloudformation yaml 在 Lambda 函数上添加 S3 触发器

python - 我无法让 celery 正常工作(aws elasticbeanstalk)