gpt4 book ai didi

node.js - AWS EC2 Angular 5 ng 服务未通过浏览器连接

转载 作者:搜寻专家 更新时间:2023-11-01 00:16:27 26 4
gpt4 key购买 nike

我设法让我的 Angular 5 应用程序在 AWS EC2 Ubuntu 上运行...

启动标准 Ubuntu 实例,使用 PuTTy 加壳,安装 Node ,输入接下来的 4 个“魔法线”...

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile

创建我的公司目录,为@angular/cli 进行全局 npm 安装,克隆我的 git,将目录更改为项目子文件夹,为 @angular/cli 进行本地 npm 安装,然后为我的项目运行 npm install。此时,我能够在上述任何步骤中运行 ng serve 而没有出现严重错误!哇!

它表明它在端口 4200 上正常运行。我什至用 netstat -anp | 检查过grep 4200 以及 telnet 127.0.0.1 4200。是的,一切正常。

然后我进入 AWS 仪表板,为我的实例创建了一个安全组,使用默认值打开 HTTP 和 HTTPS,然后为向任何地方开放的端口范围 4200 添加一个自定义 TCP 规则并保存。但是,当我转到浏览器并输入 http://xx.xx.xx.xx:4200 时(其中 x 是 AWS 分配给我的实例的公共(public) IP),我收到“无法建立与服务器的连接”错误。

我错过了什么?

最佳答案

首先,请注意 ng-cli 中的内置网络服务器不打算用于生产环境。如果这是用于生产,我强烈建议您找到更好的解决方案。

为了从其他设备/通过互联网访问该站点,您必须指示 ng-cli 在正确的 IP 地址上提供服务。您可以通过运行 ng serve --host x.x.x.x 来做到这一点。

如果您输入您的服务器 LAN-IP(取决于您的设置),它可能会起作用。您可以通过运行 ifconfig 找到它。

但是,由于您托管的是静态网站,另一种解决方案是将应用程序简单地托管在 S3 上。为此,运行 ng build --prod 并将 dist 文件夹上传到 AWS S3。他们有一个教程 here .

或者,您可以使用 Apache 或 nginx 等工具从 EC2 实例提供已编译的应用程序。

关于node.js - AWS EC2 Angular 5 ng 服务未通过浏览器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48779923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com