Chcę użyć Node.js jako serwera Share.js i Ruby dla interfejsu użytkownika. O ile wiem, Heroku zezwala tylko na jeden proces internetowy zwany "web". Czy ktoś ma jakieś doświadczenie próbujące zrobić coś takiego?Czy mogę używać dwóch języków w aplikacji Heroku?
Odpowiedz
Nie, Heroku wykrywa typ aplikacji po naciśnięciu kodu na Heroku i kompilacji ślimaka. Musiałbyś mieć je jako oddzielne aplikacje ze zdefiniowanym API pomiędzy tymi dwoma (nie zawsze tak źle).
AKTUALIZACJA: Możesz teraz układać stosy buildpacks, np. Ruby + PHP, abyś mógł obaj wykonać. Zobacz, jak korzystać z wielu buildpaków w tej samej aplikacji, pod numerem https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app.
Nie zawsze jest to niemożliwe, proszę zobaczyć moją odpowiedź, zanim całkowicie się poddasz. – Ali
Jako zastrzeżenie technicznie można zainstalować dwa języki w jednej aplikacji - ale nie jestem pewien, czy będę je uruchamiać jednocześnie. Zrobiłem ten buildpack łączenia NodeJS i PHP (tak, że mogę uruchomić Grunt podczas kompilacji slug):
https://github.com/gcpantazis/heroku-buildpack-php-gruntjs
Wykrycie język jest zazwyczaj dość głupi; będzie szukał pliku wskazującego na język, tj. index.php lub plik rake. Musisz zmienić skrzynkę detekcyjną, aby twój kod przeminął.
Aktualizacja:
Jeszcze lepiej, należy rozważyć użycie https://github.com/ddollar/heroku-buildpack-multi; pozwoli ci sekwencyjnie instalować pakiety BuildPack. W zależności od aplikacji może być konieczne znalezienie pakietów budowania języka, które nie wymagają weryfikacji, tj. Sprawdzenie pliku package.json
w aplikacji NodeJS.
Tak, jest to głównie możliwe, o ile nie robisz czegoś bardzo podstępnego. Kiedyś wdrożyłem aplikację Flask (Python), która korzystała z CoreNLP Stanforda, który jest napisany w Javie. Będziesz potrzebował heroku-buildpack-multi.
Po dodaniu pliku upewnij się, że zrobiłeś plik .buildbacks
i dodasz wszystkie potrzebne buildpacki z Heroku github.
Dzięki temu Heroku wykrywa typ aplikacji i instaluje wszystkie niezbędne pakiety buildPack z pliku .buildpacks
.
Nie musisz już używać .buildpacks - jest to część platformy w dzisiejszych czasach, https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app –
- 1. Czy mogę używać języków .Net do programowania aplikacji iPhone?
- 2. Czy mogę używać języka Java do tworzenia wieloplatformowych aplikacji mobilnych?
- 3. Czy mogę używać dwóch różnych formaterów dla podpowiedzi high-chart?
- 4. Przełączanie języków wewnątrz aplikacji Android
- 5. Obsługa wielu języków w aplikacji WinForm
- 6. Jak mogę utworzyć klon istniejącej aplikacji na Heroku z innej aplikacji Heroku jako oddzielnej aplikacji?
- 7. Dynamiczne przełączanie języków w aplikacji Eclipse RCP
- 8. Czy mogę używać org.apache.http.client.HttpClient w silniku aplikacji Google?
- 9. Czy mogę używać OpenGL ES w aplikacji Windows Phone 8?
- 10. Czy mogę używać Ruby 1.9.2 w mojej nowej aplikacji internetowej?
- 11. Czy mogę używać javascript do nagrywania głosu w aplikacji internetowej?
- 12. Zastępowanie istniejącej aplikacji Heroku
- 13. Jak mogę używać profilu w aplikacji internetowej
- 14. Wdrażanie aplikacji Sails.js w Heroku?
- 15. Czy mogę używać uwierzytelniania md5 w psycopg2?
- 16. Dlaczego nie mogę używać dwóch ptr w przeciążeniu operatora?
- 17. Heroku - Błąd aplikacji
- 18. Czy można używać Panda3D w aplikacji wxPython?
- 19. Czy można używać Parallax w aplikacji Facebook?
- 20. Czy Android obsługuje wiele języków?
- 21. Dlaczego nie mogę używać co najmniej dwóch "przeglądarkowych", "stronowych" lub "aplikacji"?
- 22. Wyłączanie SSL dla aplikacji Heroku
- 23. Czy mogę używać szablonów variadic w lambda?
- 24. Czy mogę przestać używać "inline" w ogóle?
- 25. Czy mogę używać stałych w funkcjach PHP?
- 26. PHP: Czy mogę używać pól w interfejsach?
- 27. Czy mogę używać TCP w usłudze RESTULT?
- 28. Czy mogę używać narzędzia NotifyIcon w WPF?
- 29. Heroku - jak włączyć gd w aplikacji Heroku PHP?
- 30. Edytuj kod aplikacji Heroku online
Myślę, że (nie jest to odpowiedź), że do wykonania tej czynności potrzebny będzie płatny oddzielny proces roboczy. – Phrogz
Możesz mieć AFAIK tylko jeden proces sieciowy. Możesz mieć dodatkowe procesy robocze, ale najprawdopodobniej nie otrzymają prawidłowego portu do nasłuchu. –