2011-06-26 9 views
13

Po uruchomieniu komendy play run, w jaki sposób program Play uruchamia się jako host komputera? Czy uruchamia Apache, Tomcat lub takie za kulisami?Rozmieszczanie gry! Aplikacja ramowa

Jeśli chcę, aby moja aplikacja (zbudowana w oparciu o framework play!) Była hostowana na przykład na apache, czy będzie to łatwe zadanie?

+1

Jak wspomniano w odpowiedziach, gra może być używana w połączeniu z ustawieniami apache jako odwrotnym proxy (zobacz włącz twoją aplikację do produkcji) lub jako samodzielna wersja z serwerem netty zawartym w Play !. Jeśli odpowiedzi spełniają Twoje pytanie, zaakceptuj jedno z nich. – emt14

Odpowiedz

11

Gra normalnie działa przy użyciu własnego serwera, klasy play.server.Server. Uzyskiwanie dostępu do aplikacji Play za pośrednictwem innego serwera, takiego jak Apache, nigdy nie będzie szybsze niż bezpośredni dostęp do serwera Play, ale jeśli chcesz to zrobić z innych powodów, zobacz Put your application in production.

+0

Jak mogę wywołać ten serwer z mojego kodu Java/Scala? (bez korzystania z Play) – Jus12

14

Działa za kulisami za netty. Jeśli chcesz udostępniać je pod kontenerem serwletów jak Tomcat lub Jetty, po prostu zrób to z folderu projektu:

play war -o /tmp 

i widać plik war swojego projektu w folderze /tmp. Trzymaj go pod folderem Tomcat lub Jetty i powinieneś być gotowy. Możesz otworzyć kontener serwletu za pomocą Apache/httpd tak, jak zrobiłbyś to z taką konfiguracją (tzn. Fakt, że twoja wojna pochodziła z Playframework, nie spowoduje żadnej różnicy w części front-end).

5

Dla jasności, od play2 nie ma już oficjalnego poparcia dla pakowania twojego projektu jako pliku wojennego, a ponadto nie wygląda na to, że wsparcie wróci w najbliższym czasie.

Play2 ma wbudowany serwer sieciowy oparty na Netty i do wdrożenia możesz użyć "stage play" do skompletowania projektu i uruchomienia go za pomocą polecenia "target/start".

Jeśli zamierzasz udostępnić swój projekt na serwerze bez zainstalowanego Play2, po prostu użyj najpierw polecenia "sbt compile stage", które przygotuje dla ciebie niezbędne zależności.

Istnieje jednak nieoficjalny wysiłek pod adresem https://github.com/dlecan/play2-war-plugin, jeśli nadal jesteś zainteresowany wdrożeniem w serwletce 3.0 lub 2.5 (Tomcat 6/7, Jetty 7/8/9, JBoss 5/6/itd.) Nie użyłem tego osobiście ale słyszałem o tym dobre rzeczy.