amazon-web-services - 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 进行上传。这有点让我发疯。有人可以帮我弄清楚发生了什么吗?
解决方案
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'))
推荐阅读
- html - Node.js 应用程序的结构
- python - TDA api检查账户余额
- unix - 从目录中复制文件中包含特定句子的前 100 个文件
- c++ - Boost Process 1.71 不再查看环境路径
- javascript - TypeError: undefined is not a function ('...this.state.profile.map...'附近)
- math - 将平面从点/法线/D 转换为平面方程
- react-native - flowtype 插件影响代码的其他部分
- sql - 删除字符串 SQL 中的电子邮件地址
- flutter - 如何在颤动中限制 GridView 小部件的宽度
- sas - SAS - 如何配置 sas 以使用本地磁盘而非本地磁盘 C 中的资源: