it@ubuntu-srv:~$ service tomcat status
Unit tomcat.service could not be found.
я перезагрузил сервер, удаленно с windows, развернул на сервере приложение, у которого при запуске, происходит установка встроенного сервера приложений и приложение стало доступно.
но я не вижу что tomcat запущен как служба ?
после перезагрузки сервера, у меня снова не будет доступно приложение и мне сново его придется разворачивать.
Что можно добавить в скрипт, чтобы после перезагрузке, встроенный tomcat, то же запускался ?
вот скрипт, который разворачивает приложение
#!/usr/bin/env sh
#очищаем целевой каталог перед развертывание приложения
mvn clean package
echo 'Copy files to deploy server'
#создаем набор нужных директорий
# scp - secure copy - Утилита для копирования файлов между удаленными машинами
# работает поверч ssh, поэтому нужено указывать секретный ключ, который мы ранее создали
# \ - Символ указывает переход на новую строку
#target - директория, где находится файл с артефактом приложения
#it@10.128.4.119:/home/it/ - указали имя пользователя, адрес хоста и директорию, куда нужно
# скопировать артефакт
scp -i ~/.ssh/id_rsa \
target/twitter-0.0.1-SNAPSHOT.jar \
it@10.128.4.119:/home/it/apps/deploy/
echo 'Restart server...'
sleep 5
echo '----------------'
# << EOF - указываем, что эта комбинация открывает поток на вход которого будут переданы данные
# в виде ssh -i ~/.ssh/id_rsa it@10.128.4.119
# << EOF - после этого пишем ряд команд, которые должны будут выполниться на удаленном сервере
# pgrep name_process - Выполняет поиск процессов по указанному имени
# Xargs - читает аргументы из стандартного ввода, разделенные пробелами или символами новой строки
# kill -9 - завершаем выбранные ранее процессы (по имени java)
# nohup — утилита, которая позволяет запустить команду,
# защищенную от зависания с выходом на non-tty (игнорирует потерю сигналов связи SIGHUP)
# java -jar twitter-0.0.1-SNAPSHOT.jar аргументы, команды nohup
# java -jar - запускает указанный артефакт на выполнение
# > log.txt - указываем файл, кужа нужно выводить логи, при запуске программы
# & - указывает, что утилита nohup будет работать в фоновом режиме и если сессия, в которой мы выполняем
# запуск приложения, будет закрыта, то выполение приложения продолжиться все равно
# EOF закрывает открытый ранее входной поток команды на удаленном сервере
ssh -i ~/.ssh/id_rsa it@10.128.4.119 << EOF
pgrep java | xargs pkill -9 -f java
nohup java -jar /home/it/apps/deploy/twitter-0.0.1-SNAPSHOT.jar > log.txt &
EOF
#Таким образом мы перезапустили сервер-приложений, tomcat
# для начала мы завершили все старые процессы, затем скопировали новый артефакт, который был
# развернут JVM и запущен на выполнение
#
echo 'Bye'
it@ubuntu-srv:~$ ps -ef | grep tomcat
it 6133 4012 0 08:36 pts/1 00:00:00 grep --color=auto tomcat
it@ubuntu-srv:~$ ps -ef | grep java
it 5619 1 5 08:26 ? 00:00:31 java -jar /home/it/apps/deploy/twitter-0.0.1-SNAPSHOT.jar
it 6147 4012 0 08:37 pts/1 00:00:00 grep --color=auto java
it@ubuntu-srv:~$ ps -ef | grep logging
it 6152 4012 0 08:37 pts/1 00:00:00 grep --color=auto logging
Пользователь добавил сообщение 20 Ноября 2019, 11:41:07:
это после перезагрузки
it@ubuntu-srv:~$ ps -ef | grep logging
it 3052 3042 0 08:40 pts/2 00:00:00 grep --color=auto logging
it@ubuntu-srv:~$ ps -ef | grep java
it 3055 3042 0 08:40 pts/2 00:00:00 grep --color=auto java
it@ubuntu-srv:~$ ps -ef | grep tomcat
it 3061 3042 0 08:40 pts/2 00:00:00 grep --color=auto tomcat
it@ubuntu-srv:~$
ну и приложение снова не доступно