Найти тему
Software development

Делаем из spring boot приложения linux-сервис

Оглавление

1) Объявляем наш jar исполняемым:

maven:

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>

</plugin>

gradle:

jar { manifest { attributes 'Main-Class': 'com.foo.bar.MainClass' } }

2) Создаем файл конфигурации (меняем выделенные строки на свои):

sudo nano /etc/systemd/system/app_name_service.service

с содержимым:

[Unit]
Description=App Description
After=network.target

[Service]
Type=simple
SyslogIdentifier=
appdescription
WorkingDirectory=
/app_path
PIDFile=
/app_path/app_name.pid
ExecStart=/bin/sh -c "exec /usr/bin/java -jar
app_name.jar & echo $! > /app_path/app_name.pid"
ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID

[Service]
Type=forking
PIDFile=
/app_path/app_name.pid

[Install]
WantedBy=default.target

3) Для автоматического запуска при загрузке:

systemctl enable app_service