O comando no serviço é executado de forma diferente se executado no terminal

0

Eu tenho um arquivo war com o qual posso executar: java -jar /opt/path/to/my.war

Esse mesmo comando está em um arquivo para o serviço que se parece com isso:

[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

Quando executo service myservice start , o serviço é iniciado como seria com o comando sozinho. A diferença é que, com o service , o carregamento de uma página da Web produz um erro no console do navegador:

Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:nomod] Module 'myApp' is not available!

O navegador exibe uma página em branco.

Observe que /opt está disponível apenas por sudo su . Executando o comando apenas em su works. Então, o problema é que algo está acontecendo de forma diferente quando o serviço executa o comando, mas eu não sei o que ..

    
por OrangePot 10.04.2017 / 19:41

1 resposta

-1

Acho que você está criando um arquivo de unidade e ele deve ser usado com o systemctl. Então, tente este systemctl start myservice .

    
por 11.04.2017 / 07:25