Подтвердить что ты не робот

Развертывание игры! Рамочное приложение

После команды play run, как запустить Play в качестве хоста на компьютере? Выполняет ли это apache, tomcat или такие за кулисами?

Если я хочу, чтобы мое приложение (построенное с использованием play! framework) размещалось, например, apache, это будет простая задача?

4b9b3361

Ответ 1

Он запускает netty за кулисами. Если вы хотите разместить его в контейнере сервлетов, таком как Tomcat или Jetty, просто сделайте это в своей папке проекта:

play war -o /tmp

и вы увидите файл войны проекта в папке /tmp. Вставьте его в папку webapps Tomcat или Jetty, и вам должно быть хорошо идти. Вы можете подключить контейнер сервлета к Apache/httpd так же, как если бы вы сделали с такой настройкой (т.е. Тот факт, что ваша война пришла из Playframework, не будет иметь никакого значения в передней части).

Ответ 2

Обычно воспроизведение выполняется с использованием собственного сервера, класса play.server.Server. Доступ к приложению Play через другой сервер, такой как Apache, никогда не будет быстрее, чем доступ к серверу Play напрямую, но если вы хотите сделать это по другим причинам, см. Put ваше приложение в производстве.

Ответ 3

Просто для ясности, начиная с play2, больше нет официальной поддержки для упаковки вашего проекта в качестве военного файла, и, кроме того, он не похож, что поддержка вернется в ближайшее время.

В Play2 теперь есть собственный веб-сервер, основанный на Netty, и для развертывания вы можете использовать "play stage" для пакетного проекта и запускать его на месте с помощью команды "target/start".

Если вы собираетесь разместить свой проект на сервере без установленного Play2, просто используйте сначала команду "sbt compile stage", которая свяжет необходимые вам зависимости.

Однако в https://github.com/dlecan/play2-war-plugin есть неофициальное усилие, если вы все еще заинтересованы в развертывании в контейнере Servlet 3.0 или 2.5 (Tomcat 6/7, Jetty 7/8/9, JBoss 5/6/и т.д.) Я не использовал это лично, но я слышал об этом.