Приложение Spring Boot в качестве обслуживания. Система V init

У меня была ошибка ядра в модуле Bluetooth, представленная в ядре 4.1 и исправленная в выпуске 4.1.7.

-1
22.07.2018, 03:11
1 ответ

Поскольку вы упомянули Ubuntu, большинство новых версий теперь поддерживают systemd. Чтобы настроить что-то подобное с помощью systemd, вы должны создать файл модуля systemd, а затем включить его.

1. Программное обеспечение

Сначала решите, где вы хотите разместить свое программное обеспечение. Я бы рекомендовал /opt/core-price-update.

Примерно так:

$ tree /opt/menu-core-prices-update/
/opt/menu-core-prices-update/
├── application.conf
└── menu-core-prices-update-0.0.1-SNAPSHOT.jar

0 directories, 2 files

2. файл модуля systemd

Затем создайте файл модуля systemd, подобный этому:

$ cat /etc/systemd/system/menu-core-prices-update.service
[Unit]
Description=Menu Core Prices Update Daemon
After=network.target

[Service]
Environment="APP_CP=/opt/menu-core-price-update"
Environment="JAVA_HOME=/usr/java/latest"
Environment="APP_NAME=com.myapps.MenuCorePriceUpdate"
Environment="APP_NAME_JPROP=appname=menu-core-price-update"
Environment="CONFIG_FILE=/opt/menu-core-price-update/application.conf"
Environment="LOGPATH=/var/log/menu-core-price-update"
ExecStartPre=/bin/mkdir -pm 0755 ${LOGPATH}
ExecStart=/bin/bash -c "$JAVA_HOME/bin/java -D${APP_NAME_JPROP} -cp ${APP_CP} ${APP_NAME}"
PIDFile=/run/core-price-update/menu-core-price-update%i.pid
Restart=on-abort
RuntimeDirectory=menu-core-price-update
RuntimeDirectoryMode=755
WorkingDirectory=/opt/menu-core-price-update

[Install]
WantedBy=multi-user.target

3. Включить службу

Чтобы эта служба работала между перезагрузками:

$ sudo systemctl enable --now menu-core-prices-update

Ссылки

1
28.01.2020, 05:10

Теги

Похожие вопросы