【发布时间】:2018-01-14 15:03:54
【问题描述】:
我正在使用 Angular 5 为大学构建一个项目。我构建了两个独立的服务:
- 父文件夹
- 输入服务
- package.json
- ...
- 网络客户端
- package.json
- ...
- 输入服务
我的文件夹结构有一个名为projectX 的父文件夹,其中有两个子文件夹,它们都有自己的package.json 等。它们是独立的项目,但存在于同一个父文件夹中。我设置了一个 EC2 实例并成功安装了所有依赖项,包括。 node、npm 和正确版本的 angular CLI。
在本地,我开始我的项目是这样的:
ng serve --port 6060 用于输入服务和
ng serve --port 4200 用于 WebClient。我已经在服务器上(通过 ssh)成功运行了 ng build --prod 并创建了两个 dist 文件夹(每个文件夹中都有一个)。我现在想从“互联网”中访问我的两项服务。我已经为我的 EC2 实例设置了入站规则,应该允许连接。
让我的两个 dist 文件夹可用的最简单方法是什么?我应该使用快递吗?我尝试使用一个不起作用的 pm2 http 服务器。
如果您还有其他问题,请不要犹豫。
【问题讨论】:
-
您能否发布您在尝试连接时收到的错误消息。还有一件事
ng serve用于生产不是一个好主意,更多信息在这里:github.com/angular/angular-cli/issues/5274 -
这并不能直接回答您的问题,但您不需要 EC2 实例。我建议改为部署到 S3。看看这个:stackoverflow.com/questions/40889028/…
-
@BojanTrajkovski 我不打算在生产中使用
ng serve。我只是在说明我在本地使用什么,并且想知道在生产部署中使用什么。 -
@MattMorgan 嗯,我刚刚签出了 S3。我的假设是否正确,我可以通过 AWS cli 工具上传我的项目 +
dist文件夹......就是这样? -
或多或少。有一些微妙之处。您需要将存储桶设置为允许静态托管,并且您需要将所有传入请求重定向回应用程序的根目录,以便 javascript 处理路由。但这是托管静态应用程序的最佳方式 - 快速响应、出色的可扩展性,而且您无需为不需要的服务器付费。
标签: node.js angular amazon-web-services amazon-ec2 angular5