使用Heroku免费托管Node.js

Node.js的托管仍然不是很普及,尤其是在德语国家。 美国云公司Heroku在这里提供了一种解决方案-甚至是免费的。 您总是会注意到“构建应用程序...而不是基础结构”范式,并且几乎没有任何限制。 例如,我们正在基于PhantomJS实施一个小型cron作业,该作业每天都会抓取一个网站并通过电子邮件发送页面标题。


为此,我们首先在以下位置免费注册 https://signup.heroku.com/:

使用Heroku免费托管Node.js

强制性电子邮件确认后,我们将发出安全密码:

使用Heroku免费托管Node.js

为了以后能够使用来自Marketplace的免费加载项,我们首先必须通过输入信用卡来验证https://heroku.com/verify下的帐户(不用担心,所有内容仍然免费):

使用Heroku免费托管Node.js

现在,其余部分仅在命令行上进行。 为此,我们需要本地Node.js / npmGitHeroku CLI

使用Heroku免费托管Node.js

我们终于在命令行上本地(一次)登录了Heroku:

使用Heroku免费托管Node.js

首先,我们基于合适的buildpack创建一个新应用。 在我们的示例中,我们使用官方的Node.js buildpack heroku-buildpack-nodejs.git:

1a01abaf4b9308c5714622396ccc4708

现在我们创建一个package.json来安装我们项目所需的PhantomJSCasperJSSpookyJSNodemailer软件包:

1a01abaf4b9308c5714622396ccc4708

实际的逻辑可以在script.js中找到:

1a01abaf4b9308c5714622396ccc4708

我们首先在本地测试所有内容:

1a01abaf4b9308c5714622396ccc4708

该脚本从网站提取标题并发送电子邮件:

使用Heroku免费托管Node.js

现在,我们在Heroku上推送所有内容,这也触发了构建过程:

1a01abaf4b9308c5714622396ccc4708

如果您想稍后将代码更改推送到Heroku,则只需再次推送即可。 一方面,我们现在可以通过SSH检查服务器上是否正在运行所有内容:

1a01abaf4b9308c5714622396ccc4708

在这里,电子邮件也可以正确发送。 现在我们只需要自动化流程:

1a01abaf4b9308c5714622396ccc4708

我们使用“添加新工作”添加新的脚本调用:

使用Heroku免费托管Node.js

作为测试,我们每隔10分钟选择一次并保存一次:

使用Heroku免费托管Node.js

现在,cronjob将在将来自动执行其工作。

背部