2012-03-13 7 views
6

Node.jsをShare.jsサーバーとして、Rubyをフロントエンドとして使用したいと考えています。私が知る限り、Herokuは「Web」と呼ばれる1つのWeb向きのプロセスのみを許可します。誰かがこのようなことをしようとするいくつかの経験を持っていますか?Herokuアプリで2つの言語を使用できますか?

+0

私はこれを行うには、有料の別個のワーカープロセスが必要だと思います。 – Phrogz

+0

AFAIKには、1つのWebプロセスだけがあります。追加のワーカー・プロセスを持つことはできますが、有効なポートを使用して待機する可能性は非常に高いです。 –

答えて

8

いいえ、Herokuは、コードをHerokuにプッシュするとアプリケーションタイプを検出し、スラッグをコンパイルします。

更新:これらの日、例えばRuby + PHPのようにビルドパックをスタックすることができるので、両方を実行することができます。同じアプリで複数のビルドパックを使用する方法については、https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-appを参照してください。

+0

それは必ずしも不可能ではありません、完全にあきらめる前に私の答えを見てください。 – Ali

3

警告として、技術的には1つのアプリに2つの言語をインストールできますが、同時に実行することについてはわかりません。私は(私はスラッグコンパイル時にうなり声を実行できるように)NodeJSとPHPを組み合わせて、このbuildpackを作った:

https://github.com/gcpantazis/heroku-buildpack-php-gruntjs

言語検出は、通常、かなり間抜けです。それはlangを示すファイル、すなわちindex.phpまたはrakefileを探しています。コードが通過するように検出ビンを変更する必要があります。

更新:

はさらに良いことに、https://github.com/ddollar/heroku-buildpack-multiを使用することを検討してください。ビルドパックを順番にインストールできるようになります。アプリケーションによっては、確認手順がない言語ビルドパックを見つける必要があります。つまり、NodeJSアプリでpackage.jsonファイルを確認する必要があります。

1

はい、それはがほとんどです可能です私はあなたが非常にトリッキーなことをしていない限り、と信じています。私はかつてスタンフォードのCoreNLPを使ったFlask(Python)アプリケーションを配備しました。これはすべてJavaで書かれています。 heroku-buildpack-multiが必要です。

これを追加した後、.buildbacksファイルを作成し、Heroku githubから必要なビルドパックをすべて追加してください。

これは、あなたのアプリケーションタイプ自体を検出するHerokuを回避し、.buildpacksファイルから必要なすべてのビルドパックをインストールするようにします。

+0

ビルドパックをもう使用する必要はありません。これは最近のプラットフォームの一部です。https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app –

関連する問題