首页 > 解决方案 > AWS Elastic Beanstalk - 部署简单节点 API

问题描述

我正在尝试部署所有 Node/Express API 中最简单的。它有一个文件 app.js 和包。这是整个 app.js 文件:

'use strict'; 

const express = require('express'); 
const app = express(); 

app.get('/', (req, res) => {
    res.status(200).json({message: "hello"})
}); 

app.listen(8080, () => console.log('Application running'))

同样,它再简单不过了。当我尝试上传此文件和 package.json 的 zip 版本时,出现错误:

Environment health has transitioned from Pending to Degraded. Initialization completed 79 seconds ago and took 4 minutes. Impaired services on all instances.

我是弹性 Beanstalk 的新手。我正在使用 amazon.aws.com 上的 UI 进行上传。这有点让我发疯。有人可以帮我弄清楚发生了什么吗?

标签: amazon-web-servicesexpress

解决方案


Elastik Beanstalk 不允许您使用任何您想要的端口。您需要使用 Elastik Beanstalk 的环境变量(您可以在此处阅读有关环境变量的更多信息)。在 github here上有一个示例代码,在 Elastik Beanstalk 实例上使用 express,但这里的代码应该与 Elastik Beanstalk 一起使用:

const express = require('express'); 
const app = express(); 

app.get('/', (req, res) => {
    res.status(200).json({message: "hello"})
}); 

var port = process.env.PORT || 8080;

app.listen(port, () => console.log('Application running'))

推荐阅读