Как запустить приложение Grail в производственном режиме без завершения сеанса при закрытии командных окон? - PullRequest
0 голосов
/ 26 марта 2019

У меня приложение grails 2.4.3, запущенное на centos 7. Моя проблема в том, что я не могу запустить приложение через терминал, потому что, когда я закрываю терминал, сеанс завершается.

Моя команда для запуска программы:

export PATH=$PATH:/opt/setup/grails-2.4.4/bin
export JAVA_HOME=/usr/java/jdk1.7.0_80/
grails prod run-app

Я уже пробовал много способов: то есть: nohup grails prod run-app (ничего не меняется после запуска команды), setsid prod run-app(программа остановлена ​​случайно через некоторое время).Оба способа не сработали.Помогите, пожалуйста, найти способ начать применение Grails в производстве.Спасибо.

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Не использовать grails run-app в производстве. Из документации Grails 2.4.4

НИКОГДА не развертывайте Grails с помощью команды run-app, поскольку эта команда устанавливает Grails для автоматической перезагрузки во время выполнения, что имеет серьезные последствия для производительности и масштабируемости

В Grails 2.x (для производства) вам необходимо развернуть приложение в поддерживаемом контейнере Java EE (Tomcat, Jetty и т. Д.), Которые перечислены на той же странице в документации.

В Grails 3.x вы можете упаковать свое веб-приложение в виде jar-файла и запускать его как любой другой jar-файл, поскольку он построен поверх Spring Boot и контейнер был упакован в jar-файл.

0 голосов
/ 26 марта 2019

В linux вы можете использовать команду nohup (без зависания), чтобы убедиться, что команда не будет убита при закрытии терминала.

Создайте sh (startup.sh)файл, содержащий ваши операторы запуска:

echo "export PATH=$PATH:/opt/setup/grails-2.4.4/bin
export JAVA_HOME=/usr/java/jdk1.7.0_80/
grails prod run-app" > startup.sh

убедитесь, что скрипт исполняемый

chmod +x startup.sh 

затем

nohup ./startup.sh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...