У меня есть файл войны, с которым я могу запустить: java -jar /opt/path/to/my.war
Эта же команда находится в файле для сервиса, который выглядит следующим образом:
[Unit]
Description=My Service
[Service]
WorkingDirectory=/opt/path/to/
ExecStart=/opt/path/to/jre8/jre/bin/java -jar /opt/path/to/my.war --spring.profiles.active=prod
PIDFile=/opt/path/my.pid
[Install]
WantedBy=multi-user.target
Когда я запускаю service myservice start
служба запускается так, как если бы она выполнялась только одной командой. Разница в том, что при использовании service
загрузка веб-страницы приводит к ошибке в консоли браузера:
Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:nomod] Module 'myApp' is not available!
Браузер отображает пустую страницу.
Обратите внимание, что /opt
доступен только через sudo su
. Выполнение команды только в su
работает. Так что проблема в том, что что-то происходит по-другому, когда служба выполняет команду, но я не знаю, что ..