我想使用Node.js作为Share.js服务器和Ruby作为前端。据我所知,Heroku只允许一个名为“web”的面向web的进程。有没有人有一些经验试图做这样的事情?我可以在Heroku应用程序中使用两种语言吗?
回答
不,Heroku会在您将代码推送到Heroku时检测到应用程序类型,并编译段落。你需要让他们与两个(并不总是一件坏事)之间定义的API,作为单独的应用程序
更新:您可以“叠加” buildpacks这些天,如红宝石+ PHP所以你可以有两种执行。有关如何在同一应用程序中使用多个构建包,请参见https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app。
这并不总是不可能的,请在完全放弃之前查看我的答案。 – Ali 2015-11-15 11:35:19
作为一个告诫,你在技术上可以在一个应用程序上安装两种语言 - 但我不知道如何同时运行它们。我做了这个buildpack到和的NodeJS结合PHP(这样我就可以蛞蝓编译过程中运行咕噜声):
https://github.com/gcpantazis/heroku-buildpack-php-gruntjs
语言检测通常是相当愚蠢的;它会查找指示lang的文件,即index.php或rakefile。您必须更改检测仓以便您的代码通过。
更新:
更妙的是,可以考虑使用https://github.com/ddollar/heroku-buildpack-multi;它会让你顺序安装buildpack。根据您的应用程序,您可能需要找到没有验证步骤的语言构建包,即在NodeJS应用程序中检查package.json
文件。
是的,它是主要是可能我相信,只要你没有做一些非常棘手的事情。我曾经部署过一个使用斯坦福大学CoreNLP的Flask(Python)应用程序,它全部用Java编写。您将需要heroku-buildpack-multi。
添加完成后,请确保制作.buildbacks
文件,并从Heroku github添加所需的所有buildpack。
这会规避Heroku检测您的应用类型本身,并使其从.buildpacks
文件安装所有必需的buildpack。
你不需要再使用.buildpacks了 - 它现在是平台的一部分,https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app – 2015-11-27 18:17:08
- 1. 两种语言,两个应用程序
- 2. 两种语言的应用程序
- 3. 在我的Android应用程序中只支持两种语言
- 4. Heroku使用哪种编程语言?
- 5. 我们可以在哪种编程语言中开发Adobe AIR应用程序?
- 6. 我可以更改android应用程序的语言吗?
- 7. UWP应用程序在多种语言
- 8. 我可以使用.NET语言编写Eclipse RCP应用程序吗?
- 9. 我可以同时使用多种语言的OpenGL吗?
- 10. 我可以使用多种语言的基于Linux的ORM吗?
- 11. iPhone应用程序可以用其他语言开发吗?
- 12. 如何使两种不同语言的iphone应用程序?
- 13. Rails&Heroku:我可以在两个应用程序之间共享数据库吗?
- 14. 让我的应用程序使用多种语言
- 15. 我可以使用扩展应用程序的两个类吗?
- 16. 以这种方式在Heroku上启动Node.js应用程序可以吗?
- 17. 我可以在我的应用程序中使用notepad ++ exe吗?
- 18. 想要以多种语言使用应用程序印地语和英语
- 19. 应用程序支持多种语言?
- 20. 多种语言的MVC3应用程序
- 21. 多种语言的应用程序
- 22. 我可以在wpf应用程序中使用silverlight应用程序吗?
- 23. 我可以在同一个应用程序中使用两个Firebase帐户吗
- 24. 我应该使用哪种语言?
- 25. Spark - 我应该使用哪种语言?
- 26. 我可以在Android应用程序中使用Net Dll吗?
- 27. 我可以在Console Delphi应用程序中使用DataModule吗?
- 28. 我可以在mvc2应用程序中使用mvc3区域吗?
- 29. 我可以在Mac OSX应用程序中使用UIDocument吗?
- 30. 我可以在GKE中使用StackDriver Trace PHP应用程序吗?
我认为(不是答案),您将需要一个付费的单独的工作进程来做到这一点。 – Phrogz 2012-03-13 18:50:01
你可以AFAIK只有一个网络进程。你可以有额外的工作进程,但他们很可能不会有一个有效的端口来监听。 – 2012-03-13 20:09:53