如何在AWS上部署node.js应用程序

7

当我尝试在AWS上部署我的新的node.js应用程序时,出现了错误。

Failed to find package.json. Node.js may have issues starting. Verify package.json is valid or place code in a file named server.js or app.js.

我已经验证了我的package.json文件,它显示为true。

我的package.json文件如下:

{
"name": "sgcp",
"private": true,
"version": "0.0.0",
"description": "a Sails application",
"dependencies": {
    "sails": "0.9.7",
    "nodemailer": "~0.6.1",
    "grunt": "0.4.1",
    "sails-disk": "~0.9.0",
    "ejs": "0.8.4",
    "optimist": "0.3.4",
    "sails-mongo": "~0.9.7"
},
"scripts": {
    "start": "node app.js",
    "debug": "node debug app.js"
},
"main": "app.js",
"repository": "git@github.com:xteam/xcp.git",
"author": "sg",
"license": "Proprietory",
"engines": {
    "node": "0.10.x"
}
}

非常感谢您的帮助。非常感激。


您是否有Amazon实例的SSH访问权限?您是有特定问题需要检查,还是一般不确定如何检查? - Kevin Reilly
我尝试部署一个新的应用程序,但是出现了错误:“找不到package.json文件。Node.js可能无法启动。请验证package.json文件是否有效,或将代码放在名为server.js或app.js的文件中。”可能的原因是什么?我尝试使用package.json验证器进行验证,结果显示它是有效的。 - Mahahari
你是如何尝试启动应用程序的?具体的错误信息是什么?你能否更新你的问题并提供所有相关的信息。 - Kevin Reilly
@Mahahari,在你报告这个错误之前,你需要给我们提供更多的信息。 你是如何部署到AWS的? 这个错误是在什么时候发生的? - Jason J. Nathan
你找到根本原因了吗? - jayraynet
是的,找到了根本原因。问题出在数据库上。由于这个问题,它没有成功部署。 - Mahahari
2个回答

9
当通过zip文件夹上传到AWS时,我发现AWS上的这个帖子很有用:https://forums.aws.amazon.com/thread.jspa?threadID=130140&tstart=0
基本上,请确保您将项目中的所有内容都压缩在zip文件夹中,而不是包含项目的文件夹。zip文件应该直接包含app.js/server.js和package.json文件,而不是包含这些文件的文件夹。

3
在将.zip文件(Nodejs应用程序)部署到AWS Elastic Beanstalk时,zip文件不应该在index.js或package.json的上层有任何父文件夹。

我们需要选择项目文件夹中的所有文件,然后按下面截图所示的方式进行压缩。

然后将Nodejs(zip文件)项目上传到AWS Elastic Beanstalk。

enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接