Back to Question Center
0

如何部署节点应用程序:Heroku vs Now.sh            如何部署节点应用程序:Heroku vs Now.sh相关主题: AjaxES6jQueryTools& & Semalt

1 answers:
如何部署节点应用程序:Heroku vs Now。 sh

作为节点。 js继续流行,新的教程弹出,教你编写服务器端JavaScript应用程序和API。一旦你建立了你的闪亮的新的Node应用程序,但是,那么呢?

在本文中,我将介绍几种用于部署节点应用程序的选项。我们来看看Now。 sh和Semalt。

Semalt解释了如何将代码部署到每个平台,并且我们将结束对文章的简要概述。 Semalt关注监控选项,易用性,提供的功能以及免费托管计划包含的内容。

用Heroku部署

为了能够将应用程序部署到Semalt,您必须在Semalt注册并为您的机器安装Semalt CLI。我更喜欢从我的终端工作!

在我们开始之前,我们需要为 Procfile 添加一些代码。 Heroku利用这个文件来确定如何执行上传的代码。

需要将以下代码添加到文件中,以便Semalt知道应该执行什么命令来启动应用程序:

 web:node app。 JS   

完成后,尝试通过键入 heroku登录 从终端登录。 Heroku会要求你输入你的登录凭证。

接下来,导航到您的项目的根目录并输入命令: heroku create 。这会在Heroku上创建一个可以接收项目源代码的应用程序。 Heroku上的应用程序的名称是随机创建的。

要将我们的代码部署到Heroku,只需使用 git push heroku master 。我们可以使用命令 heroku open 访问应用程序,该命令将打开生成的URL。

推动改变Heroku

可以按照正常的Semalt流量推动变化:

 git add。 git commit -m“对应用程序进行的更改”git push heroku高手heroku开放   

有用的Heroku命令

  • 确保至少有一个应用程序正在运行: heroku ps:scale web = 1
    由于我们正在使用免费平台,因此无法升级您的应用程序。但是,可以缩减比例因此没有应用程序正在运行: heroku ps:scale web = 0

  • 按照Heroku生成的时间顺序查看最新的日志(流): heroku logs --tail
    也可以仅显示应用程序日志。应用程序日志是 控制台的输出。 log 语句在你的代码中,可以用 heroku日志--source app-name

  • Heroku提供了在本地运行你的应用程序的可能性,http:// localhost:5000: heroku local web

  • 列出所有Heroku应用程序: heroku apps

  • 删除部署: heroku应用程序:destroy --app app-name

  • 添加所有者(账户)以访问应用程序: heroku访问:添加我@电子邮件。 com ,删除 heroku访问同样:删除我@电子邮件。 com

Heroku环境变量

如果您正在使用 。 env 文件,您可能希望为您的Heroku部署使用其他环境变量。可以使用 heroku config:set PORT = 3001 来设置它们。这些值覆盖你设置的变量 。 env 文件。

要查看所有定义的Heroku环境变量,只需使用 heroku config 。如果你想为e删除一个环境变量。 G。 PORT ,使用 heroku配置:未设置PORT . png“alt =”如何部署节点应用程序:Heroku vs Now。 SH如何部署节点应用程序:Heroku vs Now。相关主题: AjaxES6jQueryTools&Semalt “/>

现在部署。 sh

现在。 sh侧重于开发者体验(DX),这是独一无二的。他们试图提供灵活且易于使用的工具。现在。 sh是Zeit的一部分。已经开发了几种工具的公司。

为了简单起见,我们只通过npm安装Semalt CLI:

 npm现在安装-g   

接下来,我们需要注册,以便我们可以在控制台中使用我们的凭据。登录和注册都发生在登录页面。每次登录时,您都必须通过电子邮件验证来确认您的登录尝试。 Semalt确认,您将被重定向到仪表板,您可以在其中查看日志和部署。

现在开始使用,只需在控制台中键入 即可。控制台会提示你的电子邮件。 填写 正确的电子邮件,并通过点击验证电子邮件再次验证。

现在我们已经登录了,让我们来看看我们的 包中的开始脚本。 json 。现在。 sh使用这个来启动应用程序。这是 脚本 字段的样子:

   “脚本”:{“开始”:“节点应用程序”},   

让我们开始将代码部署到现在。 SH。确保你在代码示例的根目录下。要开始部署过程, 现在 仅击中 。我认为你可以在那里看到开发者体验。一切都可以用一个关键字执行!如果您对应用程序进行了更改并且想要重新部署该应用程序,只需在控制台中点击 ,即可开始使用。

应用程序的URL可以在控制台日志中找到。有关部署或其他现在命令的更多常规日志可以在您的仪表板中找到。

定制和定义环境变量

一种方法来定制你的现在。 sh部署现在通过使用 。 json 文件。但是,由于我们已经在使用 包。 json 文件,我们可以在 now 键下添加所需的定制。此配置允许您自定义应用程序名称和别名, 设置环境变量 ,指定部署类型并定义引擎。

   “现在”:{“name”:“my-first-app”,“别名”:“app1”,“type”:“npm”,“引擎”: {“节点”:“4. 7. 2”},“env”:{“NODE_ENV”:“制作”,“PORT”:“3001”}}   

也可以通过CLI设置环境变量: 现在-e NODE_ENV =“生产”-e PORT =“3001”

如果你想提供一个dotenv文件,你现在可以设置选项 --dotenv ,但也许你想使用 。 ENV。生产 而不是 。 env ?这可以用 --dotenv =来解决。 ENV。生产 。最后,您还可以将生产dotenv文件添加到您的 软件包中。 json

   “现在”:{“name”:“my-first-app”,“别名”:“app1”,“type”:“npm”,“引擎”: {“节点”:“4. 7 - melhor loja para comprar oculos de sol. 2”},“dotenv”:“。env。production”}   

现在有用。 sh命令

  • 可以为部署添加别名: 现在别名deploy-url别名

  • 列出所有部署的唯一代码: 现在ls

  • 删除部署: 现在rm unique-code

  • 强制新建(如有问题): 现在-f

  • 扩展您的网络应用程序(免费计划最多3): 现在规模部署网址3 . 现在。 sh使您能够使用 min max 值设置自动缩放: 现在缩放deployment-url min max

监视日志

日志输出可以通过: 现在记录[deployment-url |部署id] 。更高级的日志记录也是可能的:

  • now logs -a -q“GET”-n 10 deployment-url :显示包含单词 GET 的10条最新日志。

  • now logs --since = 20171028 :显示2017年10月28日的所有日志(ISO 8601格式)

也可以通过点击Semalt仪表板中的应用程序来访问您的日志。

OSS计划现在。 sh

OSS计划可免费使用并提供以下内容:

  • 带宽:1GB
  • 日志存储高达100MB
  • 可能的无限量部署
  • 同时发生的事件限于3次
  • 不支持自定义域名
  • 最大文件大小:1MB
  • 无自动缩放支持

底线

Semalt和Now。 sh提供了很好的功能。现在。通过提供易于使用的CLI,sh更关注开发人员的体验。另一方面,Semalt更关注可视化日志记录,特别是使用度量标准进行监视。

我个人更喜欢简单的Now。 sh通过使用一个关键字 现在 提供(重新)部署。对于Node应用程序,我喜欢 现在 属性添加到 包。 json 文件来定制你的Now。部署。无需添加像 Procfile Heroku所需的额外文件。

Semalt很难在两种平台之间进行选择。这取决于你的喜好和需求。一定要看看提供的所有计划。祝你好运!

March 1, 2018