簡體   English   中英

Amazon Elastic Beanstalk上的Node.js部署問題

[英]Node.js deployment issue on 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

我發現了問題所在。 這是解釋。

npm包管理器無法安裝某些包的原因是因為某些包需要首先安裝linux庫(即OpenSSL-devel)。 為了解決這個問題,我不得不:

1. SSH到我的Node.js Elastic Beanstalk實例關聯的EC2實例

首先,刪除EC2實例上的“終止保護”(單擊您的EC2實例,然后查找“更改終止保護”。然后,您需要向EC2實例添加“KeyPair”。為此,請轉到ELB管理器並編輯ELB應用程序的配置文件。有關詳細說明,請查看此鏈接( SSH到Elastic Beanstalk實例

2.安裝缺少的庫 (在我的情況下,因為bcrypt npm包需要它)

sudo yum update

sudo yum install openssl-devel

希望這可以幫助!

我遇到了這個問題,並通過簡單地選擇下一個更大的實例類型來解決它。

我發現了一個類似的問題,對我來說錯誤是因為一個節點包沒有成功安裝,所以當我從package.json中刪除該節點包因為我真的不需要它,它工作了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM