【问题标题】:Node.js deployment to webNode.js 部署到 Web
【发布时间】:2016-08-03 20:17:56
【问题描述】:

我有一个完全构建并在 localhost:3000 上运行的 node.js 应用程序。我也买了一个域名。我可以让该域指向我的应用程序的最简单方法是什么?当我输入 example.com 时,我想查看我的应用程序。我真的不知道成功用谷歌搜索的术语,而且很多方法似乎过于复杂。我已经花费数小时尝试使用关键的 Web 服务将其部署在 AWS 上,但这远远超出了我的需要。

【问题讨论】:

  • 通常,您将应用程序放在托管服务上,以便在公共互联网上可用。然后,该托管服务将告诉您服务器的 IP 地址是什么,您可以将域配置为通过您用于域的任何 DNS 服务指向该 IP 地址。如何在给定的托管服务上部署 node.js 应用程序完全取决于特定的托管服务,您需要从他们那里获得说明。
  • 您购买或注册域名的注册商网站应该有一个用于设置 DNS 条目的仪表板。不过,这并不是一个真正的堆栈溢出问题。

标签: linux node.js dns


【解决方案1】:

如果您要部署到 AWS,我建议您尝试 ElasticBeanstalk (EB)。 EB 使将应用程序部署到 AWS 变得异常容易,如果您按照这些步骤操作,您应该能够在一小时内部署第一个版本,并且后续版本会更快,因为您不会创建新环境和每次部署时启动一个新实例。您可以在 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html 的 AWS 文档中阅读有关 EB 的更多信息,并且有一些很好的部署应用程序的演练,但它们大多是通过 GUI 完成的,而且,我更喜欢命令行...

要开始使用 EB,您首先需要安装 aws 命令行界面或 cli。请在此处按照适合您环境的说明进行操作:http://docs.aws.amazon.com/cli/latest/userguide/installing.html

安装后,您需要告诉 AWS cli 要使用哪些凭证。如果您使用的是 OSX,您可以sudo nano ~/.aws/config,这将打开 AWS 配置文件,您可以将您的凭证放入文件中,如下所示:

[profile eb-cli]
aws_access_key_id = your-key-here
aws_secret_access_key = your-key-here

现在您已经安装了 cli,您只需在应用程序的根目录中使用 eb init 初始化 ElasticBeanstalk。 cli 将询问您以下问题以配置您的 AWS 应用程序,然后部署您的应用程序:

  1. 选择默认区域。我选择了 us-east-1,因为那是离我最近的区域,但您可以使用任何您喜欢的区域。
  2. 选择要使用的应用程序。由于这是您的第一个应用程序,您必须创建一个新应用程序。 CLI 将识别目录的名称并假定它是应用程序的名称。您可以直接按 Enter 将其设置为您的应用程序名称,或者您可以随意命名。
  3. 看来您正在使用 Node.js。这是正确的吗?是的
  4. 选择平台版本。最新的平台版本是 64 位 Amazon Linux 2016.03 v2.10,除非您有充分的理由使用旧版本,否则请坚持使用最新版本。
  5. 您的实例是否需要 SSH? 如果选择“是”,则必须选择要使用的密钥对。如果您尚未生成密钥对,请暂时选择“否”。如果您以后确实想通过 SSH 登录,您可以创建一个新的密钥对,然后在 GUI 中更新您的环境以使用该密钥对。
  6. 您现在将返回到默认命令提示符,下一个命令是 eb create。这将为您的应用程序创建一个环境。
  7. 输入环境名称。随意使用默认值。
  8. 输入 DNS CNAME 前缀。再次随意使用默认值。

从这里 ElasticBeanstalk 将使用您选择的默认 ElasticBeanstalk 设置接管应用程序并将其部署到 AWS。您将获得一个具有自动扩展策略的负载均衡器、一个 RDS 数据库(如果您的应用程序需要它)和一个带有公共 DNS 的 EC2 实例,您可以将其指向您的域。

您的公共 DNS 的语法为 <the-dns-cname-prefix-you-selected-in-step-7>.<the-region-you-selected-in-step-1>.elasticbeanstalk.com,看起来类似于 myapp-dev-environment.us-east-1.elasticbeanstalk.com。要获得它,您只需在命令行中键入eb status,它就会以 CNAME 的形式出现。

复制您的 CNAME (myapp-dev-environment.us-east-1.elasticbeanstalk.com) 并前往您的注册商并打开您的域的 DNS 设置。为您的域创建一个新的 CNAME,名称为 www,值为 myapp-dev-environment.us-east-1.elasticbeanstalk.com。将 ttl 设置为您想要的任何内容并保存。

转到您的浏览器并在地址栏中输入 www.yourdomain.com。如果您已正确完成所有操作,您应该会看到您的应用程序正在服务的索引页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多