如何使用Heroku部署实时Node.js服务器
对不起,混淆标题,新的Node.js和Heroku,但试图快速拿起它。
我目前拥有一个域,我的第一个目标是build立域,它使用Heroku唤醒并运行Node.js,运行我的web.js,并显示“Hello world”。
我已经经历了这个heroku / node.js教程 ,所以我理解如何在本地设置东西,推送到heroku远程,并运行我的Node.js服务器(我的理解是否正确?)。 然而,我无法find你如何真正把你的Node.js文件到你的外部服务器(在这种情况下,我的域名),并将Heroku的服务连接到这些文件,允许我的本地机器与我的服务器上的节点。
如果有任何教程或页面,你会推荐,我会很感激。 有点东西,很可能在这里的一些事情混淆。 谢谢!
Heroku应用程序有他们自己的git仓库。 所以,你从你的本地git目录push
送到heroku的git remote。
build立:
git remote add heroku <git://yourherokurepourl.git>
然后每次部署:
git push heroku
这一切都需要让你的node.js文件在heroku的服务器上 。 Heroku跟随foreman
作为stream程发射器。 foreman
需要一个名为procfile
项目根目录中的特殊文件。 procfile
有简单的unix命令来启动每一行中的进程:
web : npm install && node app.js
所以,当你把你的项目推向heroku的git。 它将查找在procfile
定义的procfile
和启动进程。 你可以在这里放置更多的命令。 在您的本地/开发机器上更好地安装foreman
并使用它进行testing。
在heroku应用程序设置中,您可以将您的www.domain.com
地址“绑定”到运行在heroku服务器上的节点应用程序。 您必须在域提供程序的设置中执行相同的操作。 DNS现在将请求发送到www.domain.com
到您应用程序的服务器IP。
在heroku上,configuration生活在环境中。 heroku上有很多process.env.*
。 您可以通过向foreman
提供.env
文件进行本地模拟。
最后,在你的node.js代码中,确保你监听process.env.PORT
提供的值。
连接服务器:
- 使用
Request
模块直接调用其他服务器的URL。 - 或者,让服务器订阅并发布到集中服务总线。
您正在描述操作两台服务器。 一个在Heroku上,一个在你的域名上。 我怀疑你没有build立连接,你只能让你的域指向你的Heroku服务器。 用您正在使用的herokuurl联系您的域名提供商,他们可以为您做这个。
实际上,他们会将您的域名“指向”您的Heroku node.js服务器,并从那里按照您的预期行事。