Обучение Springboot наконец -то подошло к концу, но оно все еще оставляет нас с вопросом, то есть как программа должна быть развернута на сервере Linux? Будет ли программа выключена, если SSH отключена после запуска программы с командой? Первую проблему легче решить. Вам нужно только убедиться, что JDK установлен правильно и не будет больших проблем. Сложная проблема - последняя. Ключом к решению проблемы является обеспечение того, чтобы программа работала в процессе демона (фон). На этот раз я поделюсь, как правильно развернуть программы в Linux
Чтобы решить эту проблему, я проверил информацию в Интернете и нашел следующие 3 решения
1 упаковка банка в системную службу (не рекомендуется)
Недостаток этого метода также весьма очевиден, то есть сервис склонна к тому, что не запускается, потому что различные распределения Linux имеют более или менее различия в той же степени.
2 Используйте команду NOHUP, чтобы сотрудничать с Kill -9 XXX
Этот метод легче принять и также является компромиссом, но будет более хлопотно остановить программу и использовать команду, чтобы найти процесс, а затем использовать Kill -9.
3 Используйте экран, TMUX и т. Д. (Рекомендуется)
Учитывая этот метод всесторонне, он является более научным, поскольку он обеспечивает унифицированный интерфейс и соответствующие функции для управления несколькими сеансами, которые легче работать. Недостатком является то, что это требует небольшой стоимости обучения.
Обычно используются команды TMUX:
$ tmux new -s session -name создать новый сеанс
$ tmux a -t session -name доступ к указанному сеансу
$ tmux detach /$ ctrl-b d Отсоедините текущую сеанс
$ tmux kill-session -t-sessing-name закройте сеанс
$ tmux ls показывать все сеансы
Общие команды экрана:
$ screen -s window -name Создайте новый сеанс
$ Screen -R -R Номер сеанса или имя для доступа к указанному сеансу/сеансу Reconnect
$ screen -ls показывать все сеансы
Ctrl+AB разделяет текущий сеанс
Ctrl+AK
Ниже приведены их различия. Хотя TMUX более продвинут, как выбрать, зависит от привычек использования каждого
TMUX очень похож на экран, но лучше, чем экран. Чтобы спросить, где есть хорошие вещи, простой ответ заключается в том, что, хотя функции экрана одинаковы, Tmux разработан лучше. Экран доступен, но не стабилен.
Вот некоторые места, где Tmux выходит за рамки экрана:
Springboot удобнее использовать Maven для упаковки. Проверьте конфигурацию pom.xml при упаковке, чтобы убедиться, что существуют следующие конфигурации:
<buld> <blicins> <bricin> <groupid> org.springframework.boot </GroupId> <strifactid> Spring-boot-maven-plugin </artifactid> <ponfiguration> <!-Fork: без этой конфигурации Devtools не будет работать, то есть приложение не будет перезагружать-> <fork> true </fork> <! </configuration> </plugin> </plugins> lt;/build>
Просто используйте Maven Install для упаковки. Если пакет успешно находит соответствующую JAR и переименован, загрузите его на сервер Linux для авторизации.
Таким образом, приложение запускается, даже если командная строка закрыта или отключена от SSH, она не повлияет на нормальную работу программы.
Отключить
После завершения сеанса программа выключена, как показано ниже
Использование экрана похоже на TMUX. Это практиковалось здесь, поэтому я развертываю программу для запуска в фоновом режиме. Эффект выбора экрана и TMUX похож.
PS: вот описание развертывания Spring-Boot в Linux
Сначала Maven очистит проект, затем Maven установите его в пакет JAR на проект, а затем удалите предыдущую версию процесса на Linux.
Проверьте команду PS -EF | Греп Джава
Убить процесс убийства -9 Номер процесса
Запустите проект Spring -Boot напрямую nohup java -jar sinocube.jar & используйте nohup, чтобы закончить с &
NOHUP возвращается к выводам файлов журнала. Файл журнала может настроить имя файла, по умолчанию nohup.nohup.out
cat nohup.out view log nohup.out - это имя файла tailf nohup.out view rog в реальном времени