У меня есть файл войны, с которым я могу запустить: 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 работает. Так что проблема в том, что что-то происходит по-другому, когда служба выполняет команду, но я не знаю, что ..

1 ответ1

-1

Я думаю, что вы создаете файл модуля, и он должен использоваться с systemctl. Итак, попробуйте этот systemctl start myservice .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .