

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Node.js App Server 层参考
<a name="layers-server-nodejs"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

**注意**  
此层仅适用于基于 Linux 的堆栈。

Node.js App Server 层支持 [Node.js](http://nodejs.org/) 应用程序服务器，它是一个用于实施高度可扩展的网络应用程序服务器的平台。程序是用事件驱动的异步编写的 JavaScript， I/O 以最大限度地减少开销并最大限度地提高可扩展性。

**短名称**：nodejs-app

**兼容性**：Node.js App Server 层与以下层兼容：自定义、db-master、memcached 和 monitoring-master。

**开放端口：**Node.js App Server 层允许公开访问端口 22 (SSH)、80 (HTTP)、443 (HTTPS) 和负载均衡器的所有端口。

**自动分配弹性 IP 地址**：默认情况下关闭

**默认 EBS 卷**：否

**默认安全组：** AWS-OpsWorks-nodejs-App-服务器

**Setup 配方**：
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ opsworks\$1nodejs
+ opsworks\$1nodejs::npm 

**Configure 配方**：
+  opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ opsworks\$1nodejs::configure 

**Deploy 配方**：
+ deploy::default
+ opsworks\$1nodejs
+ opsworks\$1nodejs::npm
+ deploy::nodejs 

**UnDeploy 配方**：
+ deploy::nodejs-undeploy

**Shutdown 配方**：
+ opsworks\$1shutdown::default
+ deploy::nodejs-stop

**安装:**
+ Node.js 安装到 `/usr/local/bin/node`。
+ 有关如何生成日志文件的更多信息，请参阅在 Nodejitsu 网站上[如何登录 node.js](https://docs.nodejitsu.com/articles/intermediate/how-to-log/)。

**Node.js 应用程序配置**：
+ Node.js 运行的主文件必须命名为 `server.js`，并位于已部署的应用程序的根目录中。
+ 必须将 Node.js 应用程序设置为侦听端口 80 (或端口 443，如果适用)。

**注意**  
运行 Express 的 Node.js 应用程序通常使用以下代码来设置侦听端口，其中 `process.env.PORT` 表示默认端口并解析为 80：  

```
app.set('port', process.env.PORT || 3000);
```
对于 OpsWorks 堆栈，您必须明确指定端口 80，如下所示：  

```
app.set('port', 80);
```