如何使用Heroku部署实时Node.js服务器

时间:2014-06-14 05:22:13

标签: node.js heroku

很抱歉混淆了标题,Node.js和Heroku的新手,但试图快速拿起它。

我目前拥有一个域名,我的第一个目标是设置它以便我进入域名,它使用Heroku唤醒并运行Node.js,运行我的web.js,并显示" Hello world"。

我已经通过了this heroku/node.js tutorial,所以我了解如何在本地设置内容,推送到heroku远程,并用它运行我的Node.js服务器(我理解正确吗? )。但是,我无法找到任何关于如何将Node.js文件实际放到外部服务器上的内容(在本例中为我的域),并将Heroku的服务连接到这些文件,允许我的本地计算机与我服务器上的节点进行交互。

如果您有任何教程或页面建议,我会很感激。有点儿的东西,很可能在这里有很多东西。谢谢!

2 个答案:

答案 0 :(得分:2)

Heroku应用程序有自己的git存储库。所以,你从本地git目录{her}到goku remote。{/ 1>。{/ 1}

设定:

push

然后每次部署:

git remote add heroku  <git://yourherokurepourl.git>

这就是在heroku的服务器上获取node.js文件所需的全部内容。 Heroku跟随git push heroku 作为进程启动器。 foreman需要项目根目录中名为foreman的特殊文件。 procfile具有简单的unix命令来启动每行中的进程:

procfile

所以,当你将项目推送到heroku的git时。它将查找web : npm install && node app.js 并启动那里定义的进程。您可以在此处放置更多命令。最好在本地/开发机器上安装procfile并使用它进行测试。

在heroku app设置中,您可以将foreman地址“绑定”到heroku服务器上运行的节点应用程序。您必须在域提供商的设置中执行相同的操作。 DNS现在将请求路由到www.domain.com到您应用的服务器IP。

在heroku上,配置存在于环境中。 heroku上有很多www.domain.com可用。您可以通过向process.env.*提供.env个文件来进行本地模拟。

最后,在您的node.js代码中,请务必听取foreman提供的值。

连接服务器

  1. 使用process.env.PORT模块直接呼叫其他服务器网址。
  2. 或者,让服务器订阅并发布到集中服务总线。

答案 1 :(得分:0)

您正在描述操作两台服务器。一个在Heroku上,一个在“你的域名”上。我怀疑你没有建立连接,你只能让你的域指向你的Heroku服务器。使用您正在使用的heroku网址与您的域名提供商联系,他们可以为您执行此操作。

实际上,他们会将您的域“指向”您的Heroku node.js服务器,并从那里按照您的预期行事。

相关问题