本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Node.js App Server AWS OpsWorks 堆栈层
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
注意
此层仅适用于基于 Linux 的堆栈。
Node.js App Server 层是一个 AWS OpsWorks Stacks 层,它为充当 Node.js
安装:Node.js 安装在 /usr/local/bin/node
中。
Add Layer 页面提供以下配置选项:
- Node.js 版本
-
有关当前支持的版本的列表,请参阅AWS OpsWorks 堆栈操作系统。
- 自定义安全组
-
如果您选择不自动将内置 AWS OpsWorks Stacks 安全组与您的图层关联,则会显示此设置。您必须指定要将哪一安全组与层关联起来。有关更多信息,请参阅 创建新堆栈。
- Elastic Load Balancer
-
您可以将 Elastic Load Balancing 负载均衡器连接到层的实例。
重要
如果您的 Node.js 应用程序使用 SSL,我们建议您尽可能禁用 SSLv3 ,以解决 CVE-2015-80270.12.9
。
部署 Node.js 应用程序
有关如何为 AWS OpsWorks Stacks 实施简单的 Node.js 应用程序并将其部署到一个堆栈的详细演练,请参阅创建您的第一个 Node.js 堆栈。一般而言, AWS OpsWorks Stacks 的 Node.js 应用程序应满足以下条件:
-
主文件必须命名为
server.js
且驻留在部署的应用程序的根目录下。 -
Express
应用程序必须将 package.json
文件放在应用程序的根目录下。 -
默认情况下,应用程序必须侦听端口 80 (HTTP) 或端口 443 (HTTPS)。
可以在其他端口上进行侦听,但是 Node.js App Server 层的内置安全组 AWS OpsWorks-nodejs-App-Server 仅允许进入端口 80、443 和 22 (SSH) 的入站用户流量。要允许流入其他端口的入站用户流量,请使用适当的入站规则创建安全组并将其分配给 Node.js App Server 层。请勿通过编辑内置安全组来修改入站规则。每次创建堆栈时,Stac AWS OpsWorks ks 都会使用标准设置覆盖内置安全组,因此您所做的任何更改都将丢失。
注意
AWS OpsWorks Stacks 将 PORT 环境变量设置为 80(默认)或 443(如果您启用 SSL),因此您可以使用以下代码来侦听请求。
app.listen(process.env.PORT);
如果您将 Node.js 应用程序配置为支持 SSL,则必须指定密钥和证书。 AWS OpsWorks Stacks 将每个应用服务器实例的数据作为单独的文件放在/srv/www/
目录中,如下所示。app_shortname
/shared/config
-
ssl.crt
- SSL 证书。 -
ssl.key
- SSL 密钥。 -
ssl.ca
-链证书(如果您已经指定了一个)。
您的应用程序可以从这些文件中获取 SSL 密钥和证书。